メインマシンをUbuntu 14.04から18.04にしてみた
Ubuntu 14.04 (trusty) が 2019-04-30 で EOL になる
Ubuntu 14.04 LTS Trusty Tahr Extended Security Maintenance | Ubuntu blog
のと、day jobの方でも18.04 (bionic)を使う予定なので、メインマシンのtrustyをbionicにしてみた。
Ubuntu
に書いてある通り、do-release-upgrade 実行するだけ。楽ちん。一足飛びにはいけないので、trusty→xenial、xenial→bionic した。
アップグレード自体は特に問題なかった。
グラフィカルログインの無効化
漢は黙ってコンソールログイン派なのでlightdmとかgdmとかそういうのを無効化する。
systemctl set-default multi-user.target
dig
デフォルトで +edns するようになったようで、一部のDNSサーバーがFORMERRを返して名前が引けないので無効化した。
echo '+noedns' > ~/.digrc
Emacs
なんとなく勢いで24.4から26.1にしてみた。
ファイルが意図しないwindowで開く
例えば、1つのframeを上下2つのwindowに分割してて、上のwindowでfind-fileすると下のwindowで開く、とか謎挙動しだした。
原因は popwin の古い設定
(setq display-buffer-function 'popwin:display-buffer)
が残っていたせいで、これを削除したらOKになった。
さようならsense-region、こんにちはsense-expand-region
sense-region.elをロードすると警告が出るようになった。
Warning (bytecomp): ‘interactive-p’ is an obsolete function (as of 23.2); use ‘called-interactively-p’ instead. Warning (bytecomp): ‘mapcar’ called for effect; use ‘mapc’ or ‘dolist’ instead [16 times]
動作はするけど、sense-region.el自体、配布元にアクセスできなくなって久しいので、結局、sense-expand-region.el に乗り換えました。
- https://emacs.g.hatena.ne.jp/k1LoW/20120319/1332169099
- https://github.com/k1LoW/emacs-sense-expand-region
sense-region.elと同じように C-SPC に割当。
(global-set-key (kbd "C-SPC") 'sense-expand-region)
最初 emacs-jp Slack の人たちに相談したら、矩形選択は標準の rectangle-mark-mode を、選択リージョンの拡張は expand-region を教えてもらいました。(あざます!!)
expand-region は最初の発動でいきなり範囲選択になる(sense-regionはset-mark-command)のに慣れなくて、ぐぐったら sense-expand-region.el を見つけて、なんとこれで矩形選択もできるので乗り換えた次第。
synergy
今まで
- server
- Ubuntu trusty
- synergys 1.4.12
- client
で問題なく使えてたんだけど、bionicのsynergys 1.8.8 にしたらキーボードとマウスは共有されるんだけど、クリップボードが共有されない。これが思いの外、ストレスマックスボンバー。
1.8.8のバイナリ配布
https://sourceforge.net/projects/synergy-stable-builds/
から macOS 版をダウンロードして試したら、マウスとクリップボードは共有されるけど、なんとキーボードが共有されない!!
server, client共に最新の1.10.1(今回の件で買った!)にしても、キーボードが動かない。
trustyで動いてた1.4.12をbionicでビルドしたところ、たぶん libcrypto++ のシグネチャが違うかなんかでビルドできず。
他にもdebootstrapでtrustyの環境作ってchroot実行してみた(SEGV!)り、他のバージョンでも試したりいろいろやったけどダメで、結局、trustyからsynergysとlibcrypto++.so.9.0.0をコピーしてきて、
#!/bin/sh exec env LD_LIBRARY_PATH=/usr/local/app/synergy-1.4.12/lib \ /usr/local/app/synergy-1.4.12/bin/synergys "$@"
な感じで立ちあげて無事、全部共有できて一旦めでたしめでたし。
でも、macOSの方の1.3.1は、この前MacBookを乗り換えたときにソースコード消しちゃったようだし、ソースがあってもCarbonのヘッダーファイルないとコンパイルできないと思うのでもう最新のXcodeではビルドできないので、本当はせっかく買った 1.10 で動くのがいいんだけど。。。