Ubuntu 20.04での環境構築の内容が古くなってきたので、今現在の設定で書き直すことにした。
インストール
Ubuntuをクリーンインストールすると、起動時のgrubのメニューにWindowsが出現しなくなるので、それをやるにはWindowsは後からインストールする必要がありそう。
インストールメディアのブート
ここではUSBメモリでインストールメディアを作成しブートする。
USBメモリにisoを焼く
(UEFIブートのため)64bitのdesktop imageをダウンロードしておく。以下macOSで焼く手順を書く。
ExFAT GUIDパーティションマップでフォーマットしてから (diskutil eraseDisk ExFAT UbuntuFocal /dev/disk2
とか)、以下のコマンドを実行する。
hdiutil convert -format UDRW -o ubuntu ubuntu-20.04.1-desktop-amd64.iso
df # /dev/disk2 の Mounted on を確認 (/Volumes/Ubuntu だったとする)
diskutil umount /Volumes/Ubuntu # マウントされている場合
diskutil list # 焼きたいUSBメモリのパスを確認 (/dev/disk2 だったとする)
sudo dd if=ubuntu.dmg of=/dev/disk2 bs=1m
ddにめちゃくちゃ時間がかかる ので、あらかじめここまで済ませておくと良い。
USBメモリのブート
F2をおしてBIOS (UEFI) を起動し、USBメモリが最初になるようにブート順を変え起動する。同じものが二つある場合「UEFI:」が先頭につくものを選ぶのが必要なこともある。
インストールウィザード
- Englishで進める
- minimal installation
- Install third-party software for graphics and W-Fi hardware and additional media formats は一応チェックしておく
- ディスクの暗号化はAdvancedなメニューからじゃないとできない
"Please remove the media, and then press Enter" の黒い画面でインストールメディアを抜いてエンター。
環境構築
アップデート
ここで名前解決に失敗する場合は NetworkManagerからdnsmasqを起動しないようにする 必要があったこともあるが、今はいらなそう。
sudo apt-get update
sudo apt-get upgrade
HiDPI
- Settings
- Devices > Display > Scale: 200%
bootstrap: zsh, tmux, vim, peco, ghq
sudo apt install curl git
git clone https://github.com/k0kubun/dotfiles src/github.com/k0kubun/dotfiles
cd src/github.com/k0kubun/dotfiles
./install.sh
ibus-skk, ghq, peco, zsh, tmuxがインストールされる。再起動するとシェルがzshに変わる。
Neovimは現在の実装だとインストールしないようになっているので、apt install neovim
しておく。Vimprocのビルドにmakeやgccが必要なので、apt install build-essential
もしておく。aptで入るnodejsは古すぎなので、snap install node --classic
する。
systemd serviceを使う予定があれば、ついでにsudo loginctl enable-linger k0kubun
もやっておくとよい。
実装が現状壊れているもの:
- xremapのautostartディレクトリが最初存在してないので、自分で作る必要がある
- ddns-updateのgem_packageをいれる際、まだRubyがないので動かない
- ddns-updateを消してしまうと、xremapのsystemd serviceをいれるときにディレクトリがない
xremap
Rustをインストールしておく。
ghq get k0kubun/xremap
cd src/github.com/k0kubun/xremap
cargo build --features x11
systemctl --user restart xremap
SKKの設定
bootstrapでibus-skkがインストールされているので、それを有効化する。
- Settings > Keyboard > Input Sources: SKKを追加
Region & LanguageからはSKKが追加できないことに注意。先にそっちで日本語を足しておかなくても、ここでOtherからJapanese (SKK)が足せる。
それから、以下のように起動時のデフォルトをアルファベットに変えておく。
- Setup > Behavior > Initial mode: Latin
- OKを押す
デスクトップアプリ
このあたりのタイミングで、以下のアプリを入れておく。サイトで落としてきてdebをdpkg -i
するものが多い。
- Google Chrome
- Slack
- Nocturn
- 解凍したものを
/opt/Nocturn-linux-x64
に置く。 - desktopエントリはbootstrapでできるが、アイコン用に
ghq get k0kubun/Nocturn
が必要。 -
{ "homeList": "k0kubun/timeline", "pollInterval": 4 }
を~/.nocturn
にマージするか、以下のSSHの時についでに持ってくる。
- 解凍したものを
- Bitwarden
- Dropbox
- VSCode
Gnome Terminal
フォントのインストール
sudo apt install fonts-inconsolata
sudo fc-cache -v
が必要なこともあったようだが、今回はターミナルの開き直しで動いた。
設定のロード
cd src/github.com/k0kubun/dotfiles
dconf load /org/gnome/terminal/legacy/ < config/dconf_dump_org_gnome_terminal
Ubuntu 22.04の時点でもこの "legacy" ネームスペースで動作する。
SSH / GnuPG
sudo apt install ssh
# sudo systemctl start sshd # 勝手に走る
curl -s https://github.com/k0kubun.keys > ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
ip addr # enp6s0 inetのところを見て、/24は無視する
~/.ssh
と ~/.gnupg
を持ってくる。GnuPGを使ったコミットが動かない場合、mitamaeを実行し直すと設定が直る。
GNOMEの設定
Chromeから拡張をインストールできるようにする
sudo apt-get install chrome-gnome-shell
日付と時刻を右側に出す
- https://extensions.gnome.org/extension/2/move-clock/ で ON にする
-
: デフォルトになった?gsettings set org.gnome.desktop.interface clock-show-date true
-
: やらなくなったgsettings set org.gnome.desktop.interface text-scaling-factor 1.1
GNOMEの画面端でウィンドウが拡大するのを無効にする
gsettings set org.gnome.shell.overrides edge-tiling false
22.04現在では何も効果がなくなっているような気もするが、設定は存在しており、デフォルトはtrue。
壁紙
- Settings > Background: 灰色のくらげの奴にする
GNOMEテーマ
sudo apt install arc-theme gnome-tweaks
- "Tweaks"
- Appearance > Theme > Legacy Applications: Arc
微妙に見た目が変わるが、再起動しないと全体は変わらない。
beep音無効
- Settings > Sound > Volume Levels > System Sounds: OFF
一度右に動かしてから左に動かす必要がある https://askubuntu.com/questions/1283766/how-to-disable-alert-sounds-on-ubuntu-20-04
Windowの拡大縮小ボタンをなくす
Gnome Tweaks で、
- Window Titlebars > Titlebar Buttons
- Maximize: 無効
- Minimize: 無効
デスクトップアイコンを消す
gnome-extensions disable ding@rastersoft.com
DockのVolumeを消す
- Settings > Appearance > Configure dock behavior
- Show Volumes and Devices: 切る
- Show Trash: 切る
通知の表示位置の変更
Chromeで https://extensions.gnome.org/extension/708/panel-osd/ のインストール-
"Tweaks"Extensions > Panel osd: 設定する
Ubuntu 22.04 でインストールできなくなったぽい。
DockのFavoritesとOpenedの間の線を消す
Dash to Dock を入れて設定する
Ubuntu 22.04 だとインストールできない。
VSCode
- サイトからダウンロードしたdebを
dpkg -i
した後、起動する。 - 左下の人間みたいなアイコンからSign In with GitHubする。
- 全ての設定をsync対象に指定する。
- 会社のSSOは有効化せずにContinueする。
- 以下のように設定をdotfilesからJSONをsymlinkし直す。
cd ~/.config/Code/User
ln -sf ~/src/github.com/k0kubun/dotfiles/config/.config/Code/User/keybindings.json
ln -sf ~/src/github.com/k0kubun/dotfiles/config/.config/Code/User/settings.json
Wireguard
sudo nmcli connection import type wireguard file ubuntu.conf
Advanced Manager 設定 GUI: https://forum.manjaro.org/t/howto-configure-wireguard-via-the-networkmanager-gui-advanced-network-manager/138040
オンオフ用GUIコマンド: nm-applet