この記事について
この記事は、Ubuntu Linux 26.04に関する個人的なメモです。
私が自分のパソコンでUbuntuを使っているため、 ソフトのインストールの記録などをメモしています。
私の他にもLinuxを使う人の役に立つと思い、メモを公開しています。
ハードウェア構成
- CPU: Intel Core i9 12900K
- メモリ: 128GB
- グラフィックカード: AMD RADEON R9 380X
- ストレージ: SSD WESTERN DIGITAL WD_Black SN770 250GB × 1個 (OS用), SSD PLEXTOR PX-1TM10PGN 1TB (ホームディレクトリとVMware用), HDD × 3個(バックアップ用)
ユーザの作成
インストール時にはダミーのユーザを作って、あとからユーザhirayamaを追加する。hirayamaのユーザIDとグルーブIDをこれまで使ってきた値にしたいため。ただし,GUIツールでは、ユーザIDやグルーブIDを変えられないようなので、vipw, vigrコマンドを使って変更した。
インストール後もダミーのユーザのアカウントは残しておこう。Ubuntuではrootでのログインをしないような設計思想になっているので、何かのミスでhirayamaがログインできなくなったときに、ダミーユーザでログインことができる。
インストールに際して参考にしたページ
これに書いてあることは、基本的に本記事では割愛する。
- [特別企画]Ubuntu 26.04 LTSの新機能とインストール
- 第909回 Ubuntu 26.04 LTSの変更点 24.04→26.04LTS編
- 第908回 Ubuntu 26.04 LTSの変更点 25.10→26.04LTS編
- Ubuntu 26.04 初期設定まとめ|日本語入力・開発環境・Zsh まで一通り
日本語ディレクトリを英語に
デスクトップとかダウンロードなど日本語名のディレクトリが、ホームディレクトリに作られている。日本語ディレクトリだと、何かと不便なことが多いので、英語ディレクトリにしておく。コマンドは下記の通り。
LANG=C xdg-user-dirs-gtk-update
ディレクトリ中にファイルがあると、元のディレクトリが残ってしまうらしいので、早めにやっておくのがよそさう。
基本ツール
設定作業をするうえで、あると便利な基本ツールを早めにインストールしておく。
後回しでよい(基本でない)ツールについては、本ページ下段のその他よく使うソフトのインストールの節を参照。
基本コマンド
パッケージ名のメモ
- vim
- nkf
- lv
- zsh zsh-doc
- git
- build-essential
- ssh
- autofs
設定関係アプリ
パッケージ名のメモ
- synaptic
- gnome-tweaks
- gnome-shell-extension-manager (GNOME Shell拡張機能の管理。後述のxremapやCoverflow-Alt-Tabで使う)
固定IPアドレスを設定する
/etc/hostnameの中身が、インストール時に設定したホスト名(私の場合はsnowdrop)になっていることを確認する。
/etc/hostsに、127.0.1.1という気持ちの悪いIPアドレスが書かれているので、ここを、
192.168.39.135 snowdrop snowdrop.sao.kono
にした。
/etc/hostsにはIPv6関係の設定も書かれていたが、特にいじらずに放置した。
続いて、GUIからネットワークの設定をする.
「設定」->「ネットワーク」->「有線」の歯車アイコン->「IPv4」->「手動」
- アドレス: 192.168.39.135
- ネットマスク: 255.255.255.0
- ゲートウェイ: 192.168.39.254
- DNSサーバ: 192.168.39.137
IPv6は使わないので、「IPv6設定」を「無効」にしておいた。
続いては、ネットワークのドメイン名(私の場合はsao.kono)を設定する。
昔(16.04のとき)は「ドメインを検索」という設定項目があったのだが、20.04以降ではなぜか見当たらない。
sudo nmtui
で設定できる。「接続の編集」→「編集」と進むと「検索ドメイン」という設定項目がある。
ここに、sao.konoを記入する。
再起動(sudo systemctl restart systemd-resolved)してから/etc/resolv.confを見ると、search sao.konoが設定された。
nameserver 127.0.0.53が奇妙だが、GUIのネットワークの設定ツールから,ちゃんとDNSの設定をしてあるので,これは気にしないことにする。(GUIのネットワークの設定ツールの設定結果が書かれるファイルはこれではないようだ。)
今となっては/etc/resolv.confは直接編集してはいけないらしい。編集するのは/etc/systemd/resolved.confの方とのこと。
/etc/hosts.allow, /etc/hosts.deny
これらは、他のコンピュータからこのコンピュータへのアクセスを制限するための設定ファイル。
/etc/hosts.allowの設定内容はこんな感じ。必要最小限のマシンからのアクセスのみ許可している。
ALL: 127.0.0.1
ALL: 192.168.39.135
sshd: 192.168.39.0/255.255.255.0
/etc/hosts.denyの設定内容はこんな感じ。原則アクセス不可にしている。
ALL: ALL
ssh
sshすることも、されることもあるので、sshというメタパッケージを入れる。
念のため、設定ファイル/etc/ssh/sshd_configを見て、PermitRootLogin(rootでのログイン)が制限されていることを確認する。
automount
autofsパッケージをインストールする。/etc/auto.masterは設定ファイルだが、/etc/auto.netはスクリプトになっている。
sudo mkdir /net
でマウントポイントnetを作った。
/etc/auto.masterの中で、コメントアウトされている/netの行(下記)を有効に(コメントをはずして)して、再起動(sudo systemctl restart autofs)した。
/net -hosts
/netの下から、コンピュータ名/ディレクトリ名でアクセスすれば、exportされているディレクトリを自動的にマウントする。別段/etc/fstab等を書き換える必要ない。便利でありがたい。
中ボタン貼り付け
マウスの中ボタンでテキストを貼り付け(ペースト)する機能を有効にする。
古くからLinuxを使ってきたユーザには馴染みの機能だが、26.04LTSからはデフォルトで無効になった。
設定を有効に変えることはできるので、有効にする。
ささやかな機能ではあるが、私にとっては必須。
参考URL:
gsettings set org.gnome.desktop.interface gtk-enable-primary-paste true
キーバインドの変更 Wayland編
Waylandでキーバインドを変更する候補は下記。
- k0kubun/xremap 精力的に更新されている。アプリごとに異なる設定を割り当てられるのが秀逸。
- sezanzeb/input-remapper Ubuntuの公式リポジトリにも入っており、パッケージ名は、input-remapper。マクロ用の機能が充実している。
私は、xremapを採用している。
私がやりたかったキーバインドに近い設定が、xremapの設定例にあったため。
ダウンロードするのは、xremap-linux-x86_64-gnome.zip。
インストールやその他の準備は、xremapの公式サイトに従ってやった。
特に、sudoを使わないで実行したい場合には、準備作業があるので、公式サイトの指示をよく読んて対応する。
私の設定例。
xremapは、Ctrl_LとCtrl_Rを区別しており、それぞれに異なるキーバインドが可能(LRをつけずに単にCtrlとすることで、区別しない設定も可能)。そのため、私はCtrl_Rを使うときのみEmacs風の操作を設定している。一方で、Ctrl_Lは本来の動作のまま。すると、例えば、ブラウザ等でCtrl_R-fは(xremapによる)カーソル移動、Ctrl_L-fは(本来の動作の)検索ができる。本来の操作を残しつつ、Emacs風の操作も加えることができて、便利。
# A workaround for the Wayland bug: https://github.com/k0kubun/xremap/issues/179
keypress_delay_ms: 20
#
modmap:
- name: Global
remap:
# Japanese Keyboard: [Alt_L] [Muhenkan] [Space] [Henkan] [KatakanaHiragana] [Alt_R] [Compose] [Ctrl_R]
CapsLock: Ctrl_L
Muhenkan: Shift_L
Henkan: Ctrl_R
KatakanaHiragana: Backspace
Alt_R: KatakanaHiragana
Compose: Reserved
Ctrl_R: Muhenkan
Pause: SUPER_L
keymap:
- name: Global
remap:
# Underscore without Shift
RO: Shift-RO
#BTN_EXTRA: Super-Pageup
#BTN_SIDE: Super-Pagedown
- name: Emacs-like basic keybinds
application:
# only: [Opera, Google-chrome, firefox, Slack, Vmplayer, /libreoffice*/]
not: [/.*terminal.*/, /.*Ptyxis/, /.*shell/, Emacs]
remap:
Ctrl_R-b: Left
Ctrl_R-f: Right
Ctrl_R-p: Up
Ctrl_R-n: Down
Ctrl_R-a: Home
Ctrl_R-e: End
Ctrl_R-d: Delete
Ctrl_R-h: Backspace
Ctrl_R-k: [Shift-End, Delete]
Ctrl_R-o: [Enter, Left]
keypress_delay_msについて: libreofficeなど一部のソフトで誤動作する。例えば、キーに設定した動作と異なる動作をする。その対策としてkeypress_delay_ms: 20を設定している。公式情報は、xremapの公式サイトのTroubleshooting。これは、xremapのバグではなく、Wayland側の不具合らしい。Waylandはまだ発展途上のようである。
ホームディレクトリのパス
私は、OSのSSDとホームディレクトリその他データ用SSDの2つに分けている。
そのせいで私のホームディレクトリのパスが標準と異なる。
標準ではユーザ名hirayamaのホームディレクトリは/home/hirayamaとなるところが、/diskd/home/hirayamaとなっている。これがSnapやAppArmorとすこぶる相性が悪い。
AppArmorは、ファイルアクセスを監視するセキュリティ機能。
ホームディレクトリのパスが標準的でないと、AppArmorでブロックされまくる(syslogに「apparmor="DENIED"」が出る)。
これではあまりに不便なので、/diskd/home/hirayamaのパスを標準の/home/hirayamaのように見せかける設定をする。
すぐに思いつくのは、シンボリックリンクだが、これは本物のパスではないことがAppArmorにバレるので不可。
解決策としては、バインドマウントを使う。
これは、ディレクトリをディレクトリにマウントする方法。
私の場合、/etc/fstabに下記を追加した。
# bind-mount of /diskd/home on /home
/diskd/home /home none bind 0 0
これにより、/diskd/home/hirayamaを、標準のパス/home/hirayamaに見せかけることができた。
参考URL:
注意点
- 注意点1: 上記に加えて、
sudo vipwにより、ユーザhirayamaのホームディレクトリを/diskd/home/hirayamaから/home/hirayamaに修正する(辻褄を合わせる)ことを忘れずに。 - 注意点2: 元々の(本来の)/homeの下にあった各ユーザのホームディレクトリは、/diskd/homeのマウントにより隠されてしまう。元々の/homeを利用していた他のユーザ(今回の場合、インストール時に作成したダミーユーザ)が影響を受けるので、その措置を考えないといけない。シンプルな解決策は、バインドマウントする前に、予め/homeの下の必要なユーザのホームディレクトリを/diskd/homeの下にコピーしておくことかな。もしくは、ホーム全体を(/diskd/homeを/homeのように)マウントする代わりに、特定のユーザのホームディレクトリを個別に(/diskd/home/hirayamaを/home/hirayamaのように)マウントするようにすれば、他のユーザに影響を与えずに済む、など。
日本語入力
標準では、IBus + Mozcになっている。
これで当面不便はないので、様子をみる。
専門家の意見では、Waylandでは、Fcitx5 + Mozcの方が良いみたい。
Gnomeとの相性が良いのはIBus、Waylandとの相性が良いのはFcitx5ということみたい。
参考URL:
- 第911回 Waylandで行こう[Kubuntu編]
- Ubuntu 26.04 LTSで日本語入力を快適にする方法!Fcitx5 + Mozcの導入手順と落とし穴
- Ubuntu 26.04 日本語入力
Opera
公式サイトからdebファイルをダウンロードして、インストールすればよい。
インストールすると、ついでにOperaのstable版PPAがリポジトリに追加される。
Snap版のFirefoxが不具合が多く評判が悪いので、私はOperaを使っている。
OperaとPapersとApparmorの組み合わせの不調
私はデフォルトブラウザをOperaにしている。
ハイパーリンク入りのPDFをPapersで表示したときの話。
マウスでリンクをクリックすると、本来はブラウザが起動して、リンク先のページを表示するはずなのだが、Operaブラウザが起動しない。
syslogを見ると、AppArmorにブロックされている。
% tail /var/log/syslog | grep -i apparmor
2026-09-30T11:00:23.604116+09:00 snowdrop kernel: audit: type=1400 audit(1790733623.602:299): apparmor="DENIED" operation="exec" class="file" profile="/usr/bin/papers" name="/usr/lib/x86_64-linux-gnu/opera-stable/opera" pid=88008 comm="gio-launch-desk" requested_mask="x" denied_mask="x" fsuid=14040 ouid=0
AppArmorの設定ファイル/etc/apparmor.d/abstractions/ubuntu-browsersを見ると、
/usr/bin/opera Cx -> sanitized_helper,
は書かれているが、/usr/lib/x86_64-linux-gnu/opera-stable/operaは書かれていない。
operaの実行ファイルとしては、/usr/lib/x86_64-linux-gnu/opera-stable/operaが実体で、/usr/bin/operaはそれへのリンクであるので、実体の方を書かないといけないのかもしれない。
で、/usr/bin/operaのところを/usr/lib/x86_64-linux-gnu/opera-stable/operaに書き換えてみたが、何やら別のエラーをsyslogに吐いて、Operaが起動しない。
この行は元に戻して、代わりに以下の行を追加して、operaのアクセスを許可するようにする。
/usr/lib/x86_64-linux-gnu/opera-stable/opera Ux,
この後、AppArmorを再起動する。
sudo service apparmor restart
operaが起動するようになった。
sanitized_helperを使わないので、セキュリティ的には良くないかもしれない。
Emacs
以下のパッケージを入れた。バージョンとしては、Emacs30が入った。
- emacs
- emacs-mozc
フォントにはHackGen(白源)を入れた。0とo、1とlなどの違いが分かりやすく、記号や濁点・半濁点も大きく表示されるなど、プログラミングにおける視認性が高いフリーフォント。
EmacsのXIMを無効化
Emacs上では、XIM経由のIBusではなく、mozc.elの方を使いたいので、XIMを無視する設定をする。
$HOME/.Xresourcesに
! XIMを無効化
Emacs*useXIM: false
とすればよい。
emacs-mozcの設定
~/.emacs.d/init.elに、下記の設定を入れると、最低限使えるようになる。
(require 'mozc)
(setq default-input-method "japanese-mozc")
なお、他のサイトでよく書かれている (set-language-environment "Japanese")は、私は設定していない。過去に不具合に見舞われた経験があるため。
デフォルトではC-\で日本語入力のオンオフだが、半角/全角キーで日本語入力を切り替えたいときは、下記の設定をどうぞ。
(global-set-key [zenkaku-hankaku] 'toggle-input-method)
(add-hook 'mozc-mode-hook
(lambda()
(define-key mozc-mode-map [zenkaku-hankaku] 'toggle-input-method)))
少し解説すると、 global-set-keyにより、半角/全角キーでMozcモードをONできるようになる。 一方、mozc.elは、mozc-modeに入ると、半角/全角キーのイベントを奪ってしまうため、そのキーをglobal-set-keyするだけでは、日本語入力をOFFにする切り替えがうまくいかない。mozc-mode-mapのキーバインドも合わせて変更する必要がある。
その件に関する参考URL:
ちょっとだけ便利になる小技は、日本語入力のときに、カーソルを赤色にすること。これをすると、モードラインまで視線を動かさずに、Mozcモードになっているかいないかをカーソルの色で判断できるので、お勧め。
(defun th:check-mozc-and-set-cursor-color ()
(if mozc-mode
(set-cursor-color "red")
(set-cursor-color (face-attribute 'default :foreground))))
(add-hook 'input-method-activate-hook 'th:check-mozc-and-set-cursor-color)
(add-hook 'input-method-inactivate-hook 'th:check-mozc-and-set-cursor-color)
(run-at-time t 2 ;; repeat in every 2 seconds.
'th:check-mozc-and-set-cursor-color)
少し解説すると、 2つのadd-hookは、MozcがONになったときとOFFになったときにカーソルの色を変えるための設定。 run-at-timeは、念の為。 hookを通らない場面でも、確実にカーソルの色が正しくなるようにしている。 これがあると、 例えば、Emacsで複数のウィンドウを使っていて、MozcモードがON状態のバッファと OFF状態のバッファとの間でカーソルを行き来したときにも、 カーソルの色が変わる。 2秒毎にチェックを繰り返しているが、2秒という値は適当に決めたもので、深い意味はない。
あとは、かな入力する人は、下記をどうぞ。 ¥キーで長音が出るようになる。(デフォルトでは「ろ」になってしまうのを修正)
(mozc-keymap-remove-entry mozc-keymap-kana-106jp ?\\)
(mozc-keymap-put-entry mozc-keymap-kana-106jp ?\\ "\u30fc")
migemo.el
ローマ字タイピングで(かな漢字変換なしで)、日本語を検索できて便利。
準備として、下記のC言語Migemoのパッケージをインストールする。
- cmigemo
migemo.elはMELPAからインストールする。
設定ファイルには、最低限下記の設定が必要。Migemoの辞書のディレクトリを書く。
(require 'migemo)
(setq migemo-dictionary "/usr/share/cmigemo/utf-8/migemo-dict")
(migemo-init)
設定については、migemo.elの公式サイト
https://github.com/emacs-jp/migemo
を参照。
icomplete.el
icomplete.elを使うと、C-x C-f(find-file)でファイルを選択するとき、楽ができる。
emacs-w3m
Emacsには標準でewwというWebブラウザが組み込まれているが、本記事時点でewwはフォームへの日本語入力に不具合があるので、使えない。代わりに、w3mを使う。こちらは日本語関係を正しく扱える。
w3mを単体で使うことはまずないが、私はEmacsからw3m.elを使うことはある。
下記のパッケージをインストールした。
- w3m
- w3m-img
- w3m-el
Basic認証をするサイトに自動的にユーザ名とパスワードを送りたいときには、~/.w3m/passwdに設定しておくとよい。
ファイルのアクセス権(パーミッション)を600にすること。
下記は架空のサンプル。これでは使っていないが、「port」でポート番号を指定できるみたい。
machine www.wi2q93fx.com (←サーバ名)
realm ABCDE Page (←「Username for *****:」と聞かれるときの*****の部分)
login nanashi (←ログイン名)
passwd 39gonbei (←平文パスワード)
~/.w3m/passwdの情報は、なぜかw3mの公式サイトのマニュアルには出ていない。
下記のサイトを参考にした。
Zshの機能強化
Zsh標準の予測候補機能がいまいち使いにくいので、代わりのものを探して、 fasdとzsh-autosuggestionsを入れることにした。
zsh-autosuggestions
オフィシャルサイトにPPAを追加する方法は載っていたが、あえてオフィシャルサイトに書かれているGit cloneによる方法でインストールした。自分のホームディレクトリの~/.zsh.d/packages/にインストールしたい都合があるため。
.zshrcファイルのZsh標準の予測候補機能の設定を無効にしたうえで、 以下の設定を.zshrcに追加する。
### Enabling zsh-autosuggestions
### This was installed from GitHub manually.
source ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=5' # Color ID (0-7?) for suggestion. The number of colors supported by the terminal may be tested by the command 'echotc Co'.
bindkey '\Cj' autosuggest-execute # Accepts and executes the current suggestion by crtl-enter. (It seems like \Cj = \C\n)
zsh-autosuggestionsが提示する予測候補で確定したいときには、C-j(C-Enterでもよい)する設定をしている。
fasd
Ubuntu標準パッケージにあるので、それをインストール。
パッケージ名は、fasd。
以下の設定を.zshrcに追加する。
### Enabling fasd for quick access to files and directories.
### This was installed from GitHub manually.
eval "$(fasd --init auto)"
fasdのzコマンドが超便利。cdの代わりのコマンドだが、ディレクトリ名の一部を指定すれば、最近アクセスしたそれらしいディレクトリにcdしてくれる。
超便利なfasdであるが、心配なことが一つ。
fasdの公式Githubリポジトリが「This repository has been archived by the owner. It is now read-only.」になってしまっている。
今後どうなってしまうのだろう。
ptyxis
ptyxisは、従来のgnome-terminalに代わり、標準となったターミナル。
ptyxisとZshの組み合わせで新しいタブを開いたときに、常にホームディレクトリになる。ここは元のタブと同じカレントディレクトリになるようにしたい。
bashについても同様のバグがあったが、すでに解決されたようだ。
Zshについては現時点で解決されていないので、個人の設定で対処する。
対処法
~/.zshrc に以下の行を追記する。
[ -f /etc/profile.d/vte-2.91.sh ] && source /etc/profile.d/vte-2.91.sh
解説
上記のvte-2.91.shに当該設定が書かれているので、それを.zshrc内でsourceにより読み込むように設定した。
Samba
インストールしたパッケージ
- samba
私がやりたいのは、Linux側のホームディレクトリをまるごとWindowsからアクセスすることである。もちろん、自分のホームディレクトリに Windows側からアクセスするときには、ログイン名とパスワードで認証を行うようにする。このような使い方をする場合には、/etc/samba/smb.confに設定をする。以下は、私の設定のdiffである。特に重要な部分は、[homes]セクションの設定。別途、Windows側のworkgroupを確認して、「workgroup」に忘れずに設定しておくことと、
% diff smb.conf.org smb.conf
29c29
< workgroup = WORKGROUP
---
> workgroup = HIRLAB
38a39,44
> # Added by Hirayama
> allow insecure wide links = yes
> wide links = yes
> # Real time update (Samba 4.22 or later)
> smb3 directory leases = no
>
180,182c186,188
< ;[homes]
< ; comment = Home Directories
< ; browseable = no
---
> [homes]
> comment = Home Directories
> browseable = no
186c192
< ; read only = yes
---
> read only = no
190c196
< ; create mask = 0700
---
> create mask = 0644
194c200
< ; directory mask = 0700
---
> directory mask = 0755
201c207
< ; valid users = %S
---
> valid users = %S
# Added by Hirayamaの部分は、[global]セクションに設定したもの。 セキュリティが下がるが便利になる。
allow insecure wide links = yes
wide links = yes
これは、シンボリックリンクが張られている先が、ホームディレクトリの 階層の外部であってもアクセスを認めるという設定。 デフォルトでunix extensions = yesになっているため、 上記の2行とも設定することに注意。(どちらか片方だけではうまくいかない。)
# Real time update (Samba 4.22 or later)
smb3 directory leases = no
これは、SMB3 Directory Leasesを無効にする設定。
この機能は、Samba 4.22 からデフォルトで有効になったが、ここでは無効に変更している。
SMB3 Directory Leasesが有効だと、クライアントがディレクトリ内容をキャッシュする。
すると、Linux 側では即時にファイル名変更・追加されているのに、Windows Explorer に反映されるのに数分かかる、という現象に見舞われる。
即時反映されるようにしたいので、この機能を無効に変更した。
あとは、samba用パスワードを設定する。
% sudo smbpasswd -a hirayama
samba用パスワードが記録されるファイルは,/var/lib/samba/private/passdb.tdbらしい。
% sudo pdbedit -u hirayama -v
で、samba用パスワードが設定された日時を確認できる。
以上の設定で、Windows側から\\snowdrop\hirayamaというパスで、自分のホームディレクトリにアクセスできるようになった。
cronを使って、データのバックアップ
システム管理者としてのバックアップ
Linuxでは、/etc/cron.daily/に、処理を記述したshスクリプトを入れておけば、その処理が毎日(dailyで)行われる(/etc/crontab参照)。
そこで、以下の内容のshスクリプトを用意し、localbackupというファイル名にし、実行権を付けて、/etc/cron.daily/においた。
この中で、圧縮にはgzipではなく、高速高性能なzstdを使っている。
Ver.1.31以降のtarは、zstd圧縮のオプションを標準で持っている。
#!/bin/sh
# By Hirayama
HOSTNAME=$(hostname)
THISDIR=$(cd $(dirname $0) && pwd)
FREQUENCY=${THISDIR##*/cron\.}
BACKUPDIR=/diskb/backup
# Backup of 'etc', 'var', 'usr' of $HOSTNAME
cd / && /usr/bin/nice -n 19 tar acvf ${BACKUPDIR}/${HOSTNAME}-${FREQUENCY}.tar.zst --warning=no-file-ignored etc var usr > ${BACKUPDIR}/${HOSTNAME}-${FREQUENCY}.log 2> ${BACKUPDIR}/${HOSTNAME}-${FREQUENCY}-error.log
# Backup of vmware-disk'
#cd /diskd && /usr/bin/nice -n 19 tar acvf ${BACKUPDIR}/vmware-disk-${FREQUENCY}.tar.zst --warning=no-file-ignored vmware-disk > ${BACKUPDIR}/vmware-disk-${FREQUENCY}.log 2> ${BACKUPDIR}/vmware-disk-${FREQUENCY}-error.log
# Backup of /diskd/home
umask 077 && cd /diskd && /usr/bin/nice -n 19 tar acvf ${BACKUPDIR}/home-${FREQUENCY}.tar.zst --warning=no-file-ignored --exclude='home/hirayama/snap' --exclude='home/hirayama/.cache' --exclude='home/hirayama/.trash' --exclude='home/hirayama/.thunderbird' --exclude='home/hirayama/pCloudDrive' home > ${BACKUPDIR}/home-${FREQUENCY}.log 2> ${BACKUPDIR}/home-${FREQUENCY}-error.log
/etc/cron.weekly/や/etc/cron.monthly/にも、同様にlocalbackupファイルを おいた。ファイルの中の$FREQUENCYは、ディレクトリ名に応じて, weekly, monthlyのようになるようにしてある。
さて、このlocalbackupが実際に起動される時刻は、/etc/crontabに設定する。 私は、真夜中に実行されるように時刻を設定しておいた。はずなのが、なぜか、 昼にバックアップが開始されてしまう。変だな、と思って、よくよく /etc/crontabをみると、anacronがある場合には、実行しないようになっていた。 昼にバックアップを開始していたのは、cronではなくanacronの方だった。 anacronがあっても、真夜中に実行してほしいので、/etc/crontabのanacronに 関する判定を削除した。以下がそのdiff。
% diff crontab.org crontab
19,21c19,21
< 25 6 * * * root test -x /usr/sbin/anacron || { cd / && run-parts --report /etc/cron.daily }
< 47 6 * * 7 root test -x /usr/sbin/anacron || { cd / && run-parts --report /etc/cron.weekly }
< 52 6 1 * * root test -x /usr/sbin/anacron || { cd / && run-parts --report /etc/cron.monthly }
---
> 25 0 * * * root cd / && run-parts --report /etc/cron.daily
> 47 1 * * 6 root cd / && run-parts --report /etc/cron.weekly
> 52 2 1 * * root cd / && run-parts --report /etc/cron.monthly
私のマシンは、ずっと電源を入れっぱなしなので、anacronは不要。とはいえ、 anacronが全く起動しないようにするには、別途作業が必要になるので、 anacronは放置。/etc/cron.daily/0anacronというスクリプトがあるおかげで、cronが動作すると、anacronのタイムスタンプも更新されるようになっている。そのため、cronが実施された日は、昼間にバックアップが開始されることはない。というわけで、anacronは放置しておいてかまわない。
ユーザ個人のバックアップ
(ルートの権限ではなく)自分の権限で研究室のNFSサーバにバックアップするため、crontab -eコマンドを使って、個人的なバックアップの設定をした。設定内容は割愛する。 (参考 man crontab)
crontab -lコマンドで設定内容を見ることができる。
実際には、/var/spool/cron/crontabs/にユーザ名のファイルが置かれる。
GNOME Shell拡張機能
GNOME Shell拡張機能は、以前はFirefoxを用いてインストールしていたが、FirefoxのSnap化の都合で、できなくなった。今は、Extension Managerを用いてインストールする。
Extension Managerを起動するには、extension-managerコマンドを実行する。もしくは、「アクティビティ」から「extension」を検索して、見つかったアイコンをクリックする。
-
Extension Managerを使った拡張機能の追加方法で紹介されているおすすめの拡張機能から、「Customize IBus」、「Improved Workspace Indicator」。
-
Coverflow Alt-Tab (Alt-Tabによるウィンドウ切り替えが見やすくなるGNOME Shell拡張機能。標準機能だと切り替え画面が小さすぎて見にくかったが、これなら大きくて見やすい。)
-
system-monitor-next: (CPUやネットワークなどのセンサ表示。下記system-monitor-next参照。)
system-monitor-next
CPUやネットワークなどのセンサ表示をするGNOME Shell拡張機能。
indicator-multiloadの代替として、system-monitor-nextを使うことにした。
これは、GNOME Shell拡張機能として提供されているもの。
参考URL:
これを使うには、公式サイトで指示されたライブラリを事前にインストールしておく(管理者権限で)。
% sudo apt install gir1.2-gtop-2.0 gir1.2-nm-1.0 gir1.2-clutter-1.0 gnome-system-monitor
続いて、GNOME Extension Magagerを起動して、system-monitor-nextをインストールする。
こちらは、ユーザ権限で実行する。
-
extension-managerコマンド(sudoなし)により、GNOME Extension Magagerを起動。 - GNOME Extension Magagerの「探す」から「system-monitor-next」を検索して、「追加」。
- 念のため、ログインし直す。
system-monitor-nextの設定を変えてもすぐに反映されないことがある。反映させるには、GNOME Extension Maganerにおいて「system-monitor-next」を一旦無効に切り替えて再度有効にするか、ログインし直すかする。
日本語LaTeXのインストール
以下のパッケージを入れれば、texlive等、日本語LaTeXを含めて一式が入るみたい。
- texlive-full
あと、Emacs用の入力支援ツールAUC-TeXも入れておく。 国内向けでは野鳥(パッケージ名:yatex)が人気だが、 私はAUC-TeX派。AUC-TeXは、Emacsのpackage.elの方でインストールしようかな。
日本語フォント
Tex Live 2020以降は、LuaTeXが標準で原ノ味フォントをPDFファイルに埋め込むようになった。
原ノ味フォントは、フリーの日本語フォントとしては信じられないほど高品質で、LuaTexで生成されるPDFの美しさに十分満足している。
参考URL:
過去には、私は「LaTeX(dvipdfmx)で生成されるpdfファイルに日本語フォントを埋め込む」みたいなことをしていたが、この設定は、LuaTeXを使う限りは、不要になった。
過去の名残りでpLaTeXを使うこともまだあるので、dvipdfmxによるPDF生成に原ノ味フォントを埋め込むように設定しておく。
% sudo kanji-config-updmap-sys haranoaji
VMware
起動時の警告
libaio1
VMwareを起動すると、
An up-to-date "libaio" or "libaio1" package from your system is preferred.
と言われる。
パッケージlibaio1t64をインストールしたが、警告が止まらない。
よくわからないので放置。
VMwareが固まる(フリーズする)
VMwareを使用すると、ある程度の時間(30秒から数十分程度)、異様に動作が重くなることがある。topで見てみると、kcompactd0というプロセスがCPU使用率を食っている。数秒なら我慢もできようが、数十分固まったままでは仕事にならない。
原因はメモリの断片化(による連続するメモリ領域の不足)によるもののようである。
原因
kernel-mmのメンテナによると、VMwareがメモリのhigh-order allocation(詳細不明、連続するメモリ領域のこと?)を大量に要求するために発生しているらしい。
緩和策はあるが、根本的な解決策はないらしい。
参考URL:
https://bugzilla.redhat.com/show_bug.cgi?id=1694305
メモリが断片化した状態でVMwareを使うと、(一見メモリに十分な空きがあるように見えても)連続するメモリ領域が不足するので、kcompactd0がメモリをデフラグして、連続するメモリ領域を確保しようとするという流れ。
kcompactd0によりVMwareが固まったときには、下記のコマンドで一時しのぎとしては回復できる。これは管理者権限でキャッシュを開放している。
所詮一時しのぎなので、しばらくするとまた症状が再発する。
sudo sh -c "echo 3 > /proc/sys/vm/drop_caches"
Linuxのメモリ管理と確認方法については、下記が詳しい。
参考URL:
- https://blog.natade.net/2019/02/05/組み込みlinux-物理メモリ-buddyinfo/
- https://qiita.com/Kernel_OGSun/items/05f6a0de88aa29e0a212
対策
私の対策としては、VMwareを起動する直前に下記を実行しておいて、それからVMwareを起動することにした。
これの対策により、VMwareが固まることなく、すこぶる調子がよくなった。
sync
sudo sh -c "echo 3 > /proc/sys/vm/drop_caches"
sudo sh -c "echo 1 > /proc/sys/vm/compact_memory"
syncは念の為。
drop_cachesの方はキャッシュの開放、compact_memoryの方はメモリのデフラグをしている。原因となるメモリの断片化を事前にしっかり減らしてからVMwareを起動することにより、症状を緩和するという作戦。
Inkscape
ドロー系グラフィックソフト。
最新版(の安定版)を使いたいので、InkscapeのPPAを登録した。
sudo add-apt-repository ppa:inkscape.dev/stable
sudo apt update
sudo apt install inkscape
するとエラーで失敗してしまった。
dpkg: アーカイブ /var/cache/apt/archives/inkscape_1%3a1.4.4+202605061435+dcaf3e7d9e~ubuntu26.04.1_amd64.deb の処理中にエラーが発生しました (--unpack):
trying to overwrite '/usr/lib/x86_64-linux-gnu/lib2geom.so.1.4.0', which is als
o in package lib2geom1.4.0:amd64 (1.4-5)
すでにlib2geomが入っていて上書きできないということらしい。
パッケージlib2geom1.4.0を削除して、再度inkscapeをインストールしたところ、成功した。
拡張機能: TexText
Inkscapeには、LaTeXの式を書く機能が標準で備わっているが、書いた式を再編集はできない。
TexTextを使うと、再編集可能なLaTeXの式が書けるようになる。
公式サイト:
https://textext.github.io/textext/
にしたがって、インストールする。
デフォルトでは、~/.config/inkscape/extensions/textext/default_packages.texに、TeXText用のLaTeXのプリアンブルを設定する。
ただし、このファイルはTeXTextのアップグレード時に上書きされて消えてしまうことがあるので、私はdefault_packages.texの代わりにmydefault_packages.texというファイルを用意して、そこにLaTeXのプリアンブルを設定している。
この設定を有効にするには、InkscapeのTeXTextを呼び出したときのウィンドウをよく見ると、「Preamble File」を設定するところがあるので、そこをmydefault_packages.texにする。
日本語を使えるようにするため、私は下記のようにdocumentclassにbxjsarticleを設定している。
その他、よく使うパッケージを指定しておくとよい。
\documentclass[autodetect-engine,dvi=dvipdfmx,ja=standard]{bxjsarticle}
\usepackage{amsmath,amsthm,amssymb,amsfonts}
\usepackage{color}
%Use Times (NOT New Roman) clone fonts.
\usepackage{newtxtext}
\usepackage[varg]{newtxmath}
LibreOffice
今後ずっと新しいLibreOfficeを使っていきたいので, ppa:libreoffice/ppaを登録した。
sudo add-apt-repository ppa:libreoffice/ppa
sudo apt update
sudo apt upgrade
last
lastコマンドが標準ではインストールされていないことに気がついた。
Ubuntu 24.10以降では、2038年問題への対応等によりutil-linuxからlastコマンドが削除されたとのこと。
代替としてwtmpdbパッケージを入れればよい。
代替コマンドは、wtmpdb lastだが、単にlastとするだけで実行できるようにシンボリックリンクが張られる。
参考URL:
その他よく使うソフトのインストール
インストールしておきたい、私がよく使うソフトのパッケージ名の健忘録
- imagemagick imagemagick-doc (画像編集関係のコマンド群)
- gimp (写真加工が得意なグラフィックツール)
- sbcl sbcl-doc clisp clisp-doc (Common Lispを使いたいことがある)
- python3 python-is-python3 python3-dev python-dev-is-python3 python3-pip (Pythonは3系列でいく)
- ubuntu-restricted-extras (MP3, Timesフォントなど、法的な理由により手動でインストールする必要がある重要ツール)
- vlc (動画再生)
- ldap-utils (研究室のLDAPサーバの情報を確認したいことがある)
- gettext autoconf libtool bison flex tcl-dev tk-dev (野良インストール時に必要になることがある)
- convmv (Macユーザからもらったファイル名がUTF-8-Mac(NFDの変種)なのをNFCに変換するときに使う)
- sshfs (SSH越しにマウントできるのは便利)
- LinuxでPDFを編集するためのツール
- nextcloud-desktop (Nextcloudのファイルを同期する)
- wl-clipboard (コマンドの標準出力をWayland上のクリップボードにコピーする)
下記は、パッケージでない方法でインストールしているもの。
理由は、パッケージ版が古いなど。
インストール方法は公式サイトのやり方に従う。
- calibre (電子ブックリーダ。事前にlibopengl0、libxcb-cursorパッケージを入れておく必要があるかもしれない。)
- pandoc (マークアップファイルのコンバーター。主に、LaTeXをMS Wordに変換して、英文校正ソフトにかけるために使用している。)