UbuntuDisco

Disco Dingo
トラブルシューティング作業記録
gdm3の起動に失敗(2019年4月25日)
Sylpheedで添付されたPDFファイルがGIMPで開かれる(2019年4月26日)
IMEが有効化しない(2019年4月26日)
Sylpheedで日本語入力ができない(2019年4月26日)
Emacsでスペルチェックできない(2019年5月17日)
インストール作業記録
grubが正しくイントールされない(2019年4月25日)
CtrlとCapsキーの入れ替え(2019年4月25日)
$HOME配下を英語名に(2019年4月25日)
Rのインストール(2019年5月15日)
LaTeXのインストール
Emacsのインストール
その他のソフトウェアのインストール
諸設定
ギミック的なもの
背景
システムモニタ
gnome-shell拡張
(メインマシンの)現在の状況 2019年 6月10日

Disco Dingo

Disco Dingo (19.04)が2019年4月18日リリースされた。 Ubuntu 18.04のgimpは2.8で2.10以降のxcfファイルを開くことができないので、 Discoにアップグレードすることを決意。

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:  Ubuntu 19.04
Release:  19.04
Codename: disco

概ねGnome 3.32になっているらしい。

トラブルシューティング作業記録

gdm3の起動に失敗(2019年4月25日)

Ubuntuが起動してから、グラフィカルログイン画面(gdm3)に移行せずに、 延々と起動中の画面(plymouthd)のまま /etc/gdm3/custom.confで WaylandEnable=false を有効したが変化なし。 lightdm に切り替えると軽快にログイン画面に切り替わるので、 gdm3をやめてlightdmを使うことにする。

$ sudo apt-get install lightdm
$ sudo dpkg-reconfigure lightdm

Sylpheedで添付されたPDFファイルがGIMPで開かれる(2019年4月26日)

Sylpheedを添付ファイルを開くと、PDFの場合にGIMPで開かれる。 Evince(ドキュメントビューア)に変更したい。

$ xdg-mime query default application/pdf
org.gnome.Evince.desktop

application/pdfはEvinceに割り当てられている。 実際、nautilusでPDFファイルをダブルクリックすると、Evinceが起動した。 Sykpheedは、/etc/mailcapを参照するようだ。

$ grep pdf /etc/mailcap
application/pdf; gimp-2.10 %s; test=test -n "$DISPLAY"
application/pdf; evince %s; test=test -n "$DISPLAY"
application/x-bzpdf; evince %s; test=test -n "$DISPLAY"
application/x-gzpdf; evince %s; test=test -n "$DISPLAY"
application/x-xzpdf; evince %s; test=test -n "$DISPLAY"
application/x-ext-pdf; evince %s; test=test -n "$DISPLAY"

application/pdfの定義でgimpがevinceよりも先に来ている。 gimpの行をコメントアウトして解決。 再発した(2019年5月8日)。/etc/mailcapが書き戻っている。 調べてみると/usr/sbin/update-mime/etc/mailcapを変更しているようだ。 systemwideにするなら/etc/mailcap.orderを書き換えて、 /usr/sbin/update-mimeを実行するようだが、 ここでは単純に~/.mailcapに追記する。

$ vi ~/.mailcap
$ cat ~/.mailcap
application/pdf; evince %s

解決した。

IMEが有効化しない(2019年4月26日)

mozcで「直接入力」と「ひらがな」を切り替えたいが、 英語キーボードを使っているので、 設定が対応しておらず、マウスで切り替えるしかない。 mozcのキーバインドの変更で、 Hanakaku/Zenkakuになっている箇所をすべてCtrl Spaceに変更し、 Ctrl Spaceに割り当てられている既存の設定を消去すると、一応の解決。

Sylpheedで日本語入力ができない(2019年4月26日)

ibus-mozcは使えるようになったが、Sylpheedでは、 Super Spaceでen/mozcの切り替えはできるが、 Mozcの入力モードの切り替えキーバインドが効かない。 これはUbuntu Bionicと同様の現象で、Sylpheed 3.5.1だから駄目なようだ。

最新のSylpheedをソースから入れる。 まずはSylpheedのアンインストール。

$ sudo apt remove sylpheed

Sylpheedをコンパイルする準備。

$ sudo apt install build-essential curl libcanberra-gtk-module
$ sudo vi /etc/apt/sources.list #deb-srcを有効化
$ sudo apt update
$ sudo apt build-dep sylpheed

http://sylpheed.sraoss.jp/ja/からsylpheed-3.7.0.tar.gzをダウンロードして、 展開。コンパイル&インストール。 configureのオプションはたくさんあるけど、取り敢えず規定値で。

$ tar xvzf sylpheed-3.7.0.tar.gz
$ cd sylpheed-3.7.0/
$ ./configure
$ make
$ sudo make install

早速起動してみる。

$ /usr/local/bin/sylpheed
/usr/local/bin/sylpheed: error while loading shared libraries: libsylpheed-plugin-0.so.1: cannot open shared object file: No such file or directory

ライブラリパスが通っていない。

$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
$ /usr/local/bin/sylpheed

無事に起動を確認できた。 恒久的にパスを通しておくために /usr/local/libを/etc/ld.so.confに追加しておく。 ld.so.confは、/etc/ld.so.conf.d/*.confを読み込んでいるだけなので、 適当なファイルを作成する。

$ sudo vi /etc/ld.so.conf.d/usr-local-lib.conf
$ cat /etc/ld.so.conf.d/usr-local-lib.conf
/usr/local/lib

確認する。

$ ldconfig -v

Emacsでスペルチェックできない(2019年5月17日)

スペルチェックすると下記のエラーが出て、以前のようにスペルチェックできない。

split-string: Wrong type argument: stringp, nil

Discoのインストール直後からこの調子であったが、 本腰を入れて調べた。 EmacsでのスペルチェックにはHunspellを使っていたが、 Hunspell 1.7.0に互換性がない更新があったらしい。 Emacs26.2から対応したとのこと。現在、26.1だけど、 アップデートはあるのだろうか。 バージョンが凍結されていたら問題だ。

公式リポジトリから逸脱してEmacsのPPAから26.2を入れるが、 emacs-commonと衝突して、 emacs-mozcなど主要なパッケージの依存を壊すため、 PPAを諦めた。2種類のPPAのいずれも同様であった。

そこで、Hunspellを諦めて、Aspellで凌ぐとこにした。

(setq-default ispell-program-name "aspell")

これだけだと、日本語のスペルチェックをしようとしてエラーになる。 常に英語でスペルチェックするように設定する。

$ echo -n "lang en_US" > ~/.aspell.conf

これでEmacsできちんとスペルチェックが出来た。

インストール作業記録

最小インストールでインストールした(2019年4月25日)。

grubが正しくイントールされない(2019年4月25日)

起動すると

grub rescue>

で止まる。

grub rescue>ls
(hd0)(hd0,gpt2)(hd0,gpt1)(hd1)
grub rescue>ls (hd0,gpt2)/

これで(hd0,gpt2)/の配下に/bootがあるのを確認できたら、

grub rescue>set prefix=(hd0,gpt2)/boot/grub
grub rescue>set root=(hd0,gpt2)/
grub rescue>insmod normal
grub rescue>normal

これで正常に動作することを確認できたので、

$ sudo grub-install /dev/sdb

CtrlとCapsキーの入れ替え(2019年4月25日)

/etc/default/keyboardを書き換える。

$ sudo apt install vim #vimがないと作業が面倒
$ sudo vi /etc/default/keyboard

編集後。

$ cat /etc/default/keyboard
# KEYBOARD CONFIGURATION FILE

# Consult the keyboard(5) manual page.

XKBMODEL="pc105"
XKBLAYOUT="us"
XKBVARIANT=""
XKBOPTIONS="ctrl:swapcaps"

BACKSPACE="guess"

編集後はログアウト&ログインで有効化。

$HOME配下を英語名に(2019年4月25日)

日本語名のディレクトリを英語に変更する。

$ LANG=C xdg-user-dirs-gtk-update
Moving DESKTOP directory from デスクトップ to Desktop
Moving DOWNLOAD directory from ダウンロード to Downloads
Moving TEMPLATES directory from テンプレート to Templates
Moving PUBLICSHARE directory from 公開 to Public
Moving DOCUMENTS directory from ドキュメント to Documents
Moving MUSIC directory from ミュージック to Music
Moving PICTURES directory from ピクチャ to Pictures
Moving VIDEOS directory from ビデオ to Videos

Rのインストール(2019年5月15日)

CRANでDiscoのリポジトリがようやく準備された。

$ sudo vi /etc/apt/sources.list
$ tail -2 /etc/apt/sources.list
deb https://cloud.r-project.org/bin/linux/ubuntu disco-cran35/

$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9
$ sudo apt upate && sudo apt install r-base r-base-dev

バージョンが3.6になっているか確認する。littlerを使う。

$ echo 'print(R.version)' | r
               _
platform       x86_64-pc-linux-gnu
arch           x86_64
os             linux-gnu
system         x86_64, linux-gnu
status
major          3
minor          6.0
year           2019
month          04
day            26
svn rev        76424
language       R
version.string R version 3.6.0 (2019-04-26)
nickname       Planting of a Tree

LaTeXのインストール

$ sudo apt install texlive-luatex texlive-lang-japanese

これで基本的に日本語LaTeXの一式が入る。 luaTeXjaは必須なのでtexlive-luatexも(2019年4月25日)。

LaTeX関連の追加インストール

足りないことに気がつくたびに随時インストールを行う。

Emacsのインストール

設定ファイルの編集はvimでOKだが、 EmacsがないとLaTeXもRも使えない。

その他のソフトウェアのインストール

諸設定

sshで外からログインできるようにする(2019年4月25日)

デスプレイマネージャーに不具合があるなど、操作不能になった場合に、 仮想コンソールでもよいか、日本語を使う場合を考えると、 sshログインできたほうが断然楽である。 なにはともあれ、sshをログインをできるようにsshdを入れる。

$ sudo apt install openssh-server

バックアップから$HOME/.sshを戻せばよい。 他のマシンからログインするときに、初回は、知っているパソコンではないとエラーになるが、 known_hostsから当該行を削除して再接続すれば良い。

同期時刻設定(ntp)(2019年4月25日)

ntpは標準で入っていないようだ。 ntpとついでにntpdateを入れる。

$ sudo apt install ntp ntpdate

職場のNTPサーバを指定する。 まずは現状確認。

$ ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 0.ubuntu.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
 1.ubuntu.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
 2.ubuntu.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
 3.ubuntu.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
 ntp.ubuntu.com  .POOL.          16 p    -   64    0    0.000    0.000   0.000
+ntp-a3.nict.go. .NICT.           1 u   23   64    1    8.025   -0.407   2.517
-ntp.paina.net   203.178.138.38   2 u   25   64    1   14.734    2.043   1.697
+x.ns.gin.ntt.ne 249.224.99.213   2 u   22   64    1    3.578   -2.744   2.841
[snip]

つぎに、/etc/npt.confの書き方をmanで確認し、 /etc/npt.confに職場のNTPサーバを追加。

$ man ntp.conf
$ sudo vi /etc/ntp.conf

ntpサービスを止めて、ntpdateで時刻合わせを行った後に、 ntpサービスの再起動および確認。

$ sudo /etc/init.d/ntp stop
[ ok ] Stopping ntp (via systemctl): ntp.service.
$ sudo ntpdate xxx.xxx.xxx.xxx
26 Apr 17:39:30 ntpdate[15367]: adjust time server xxx.xxx.xxx.x offset 0.001237 sec
$ sudo /etc/init.d/ntp start
[ ok ] Starting ntp (via systemctl): ntp.service.
$ ntpq -p

Windowのボタンを左に(2019年4月25日)

Windowのコントロールボタン(最小化、最大化、終了)が右上にあり、とても使いにくい。 これを左側に移動する。

$ gsettings get org.gnome.desktop.wm.preferences button-layout
':minimize,maximize,close'
$ gsettings set org.gnome.desktop.wm.preferences button-layout 'close,minimize,maximize:'

Emacs風キーバインド(2019年4月25日)

$ gsettings get org.gnome.desktop.interface gtk-key-theme
'Default'
$ gsettings set org.gnome.desktop.interface gtk-key-theme Emacs

スクリーンロックまでの時間(2019年5月7日)

300秒間何もしないと、スクリーンがロックされる。

$ gsettings get org.gnome.desktop.session idle-delay
uint32 300

分かりにくいのでrangeで使用できる値の一覧を得る。

$ gsettings range org.gnome.desktop.session idle-delay
type u

1800秒に変更する。

$ gsettings set org.gnome.desktop.session idle-delay "uint32 1800"
$ gsettings get org.gnome.desktop.session idle-delay
uint32 1800

ギミック的なもの

背景

Ubuntu Discoは、デフォルトの壁紙が厳しいので、代替のものを検討する。 10年ぶりくらいにxplanetを試す。 xearthとかxfishtankなどは昔よく使っていた。

xplanet

$ sudo apt install xplanet xplanet-images

windowオプションをつけて起動確認。

$ xplanet -window

xplanetはWindowモードで正常に動作することが確認できた。 しかし、GNOME3の壁紙の仕組みは、 X Window Systemのrootの上にかぶさっているので、 普通にxplanetを起動しただけでは、GNOME3でそのまま使えない。 xplanetを一定間隔で画像化して、それを壁紙に設定するスクリプトを使う。 自動起動アプリケーションに、スクリプトを登録。 $HOME/bin/xplanet.shを自動起動アプリケーションに登録するためには、 desktopファイルを書いて、$HOME/.config/autostart配下に置けばよい。

$ cat $HOME/.config/autostart/xplanet.sh.desktop
[Desktop Entry]
Type=Application
Exec=/home/hoge/bin/xplanet.sh
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name[ja]=xplanet
Name=xplanet
Comment[ja]=run xplanet
Comment=run xplanet

120秒ごとに書き換わるようにした。視点は緯度34度に設定。

Dual Displayの壁紙

現在2台でマルチディスプレイをしているが、 2台のディスプレイにまたがる横長の壁紙に変更する(2019年6月10日)。 壁紙を$HOME/Pictures/Wallpapersに置く人もいるようだが、 ユーザレベルの壁紙をどこに置いたらよくわからない。 キャッシュは$HOME/.cache/wallpaper/にあった。 とりあえず、$HOME/.wallpaperを作成して、 ここに3840x1200のサイズの画像を入れる。

$ file .wallpaper/914588.jpg
.wallpaper/914588.jpg: JPEG image data, baseline, precision 8, 3840x1200, components 3

org.gnome.desktop.backgroundスキーマのpicture-optionsの値をspannedに変更し、 pircure-uriの値を対象の画像ファイルにする。 まずは現状の確認。

$ gsettings list-recursively org.gnome.desktop.background
org.gnome.desktop.background picture-options 'zoom'
org.gnome.desktop.background primary-color '#2c001e'
org.gnome.desktop.background show-desktop-icons true
org.gnome.desktop.background picture-uri 'file:///home/hoge/Pictures/xplanet.1920x1080/xplanet.1.png'
org.gnome.desktop.background color-shading-type 'solid'
org.gnome.desktop.background draw-background true
org.gnome.desktop.background picture-opacity 100
org.gnome.desktop.background secondary-color '#2c001e'

設定を変更する。

$ gsettings set org.gnome.desktop.background picture-options spanned
$ gsettings set org.gnome.desktop.background picture-uri 'file:///home/hoge/.wallpaper/914588.jpg'

27インチと24インチディスプレイなので、左右がマッチしていないが、 壁紙が期待通りに続きになっている。

システムモニタ

Conky

Conky は古くからあるデスクトップで常時表示するタイプのシステムモニタ。 Unbuntuのリポジトリには、いくつか選択肢がある。 全部盛りにするならconky-allとのこと。

$ sudo apt install conky-all lm-sensors hddtemp
$ sudo chmod u+s /usr/sbin/hddtemp

lm-sensorsの設定

$ sudo sensors-detect

全部Enterでサクサク設定する。次に、$HOME/.conkyrcを作成する。 テンプレートは/etc/conky/conky.confにある。 言語はluaみたいだ。

自動起動のために$HOME/.config/autostart配下にConky.desktopを置く。 execには、sleep 15 && usr/bin/conky とでも書いておく。

gnome-shell拡張

gnome-shellの拡張をいくつか入れる。

$ sudo apt install gnome-shell-extension-system-monitor gnome-shell-extension-weather gnome-shell-extension-workspaces-to-dock gnome-shell-extension-hard-disk-led

(メインマシンの)現在の状況 2019年 6月10日