個人的な話になるけど、20年前は Linux ばかり使っていた。当時は「ディストリビューションガー」「ウィンドウマネージャーガー」って言ってたけど、10年ぐらい前からMacを使い始め「全部Appleにお任せでいいんじゃね?」となってしまってからは、Linux や Ubuntu の事はすっかり頭から消えて無くなってしまっていた。
ところが最近、どうしても Linux を使わなきゃいけない事態が発生し、10年ぶりに Ubuntu を入れてみたら「あれ?Ubuntu もやっぱり楽しくない?」と思ってしまった。でもしばらく Mac OSX しか使ってなかったので、違和感はバリバリある。
ということで、UbuntuをMac OSXみたいにするインストール方法・設定をまとめる。
以下 > command
とあるのは、gnome-terminal(端末)で command というコマンドを入力するという意味。
Ubuntu のインストール
20.04 (Focal Fossa) LTS (Long Time Support) で日和らず、チャレンジングに毛むくじゃらのカバさん(21.04 : Hirsute Hippo)を使おう。
最も簡単なインストールの方法は DVD から入れる方法だろう。
-
Ubuntu 21.04 日本語 Remixのページから
ubuntu-ja-21.04-desktop-amd64.iso
をダウンロード - 何らかの方法でこの ISO イメージを DVD-R に焼く
- 電源投入直後に
Esc
やF12
を押して BIOS 設定画面に行く - DVD ドライブから起動する優先順位を高くする
- DVD から起動して Ubuntu インストーラーを動かす
インストール時の設定は、基本的にデフォルトのままで良いと思うが、私のお薦めは「最小インストール」にして、なるべくインストールするパッケージを少なくすること。
ってか、「最小インストール」しかやったことないので、普通にインストールしたら以下の設定が変わってくるかもしれない。
不要なアプリの削除
そして、インストール直後にやる不要なアプリを削除する方法。
- 中身を綺麗にする
> sudo apt update
> sudo apt upgrade
> sudo apt autoremove --purge
- 古いカーネルを削除する
> dpkg --get-selections | grep linux-
- 最新の(一番値が大きい)もの以外は不要なので削除
- 例)
5.11.0-16
が古くて要らないとする > sudo apt autoremove --purge linux-headers-5.11.0-16
> sudo apt autoremove --purge linux-modules-5.11.0-16-generic
- 例)
- 使わないアプリを削除する
> sudo apt autoremove --purge gedit
インストール直後の見た目はこんな感じ。
外観を Mac OSX に寄せる
Mac OSX に寄せるだけじゃなくて、個人的趣味でやっていることもあるので、やるやらはお任せ。
細かな設定
- Homeの下の「ドキュメント」とか「ピクチャ」のフォルダ名を英語にする
> LANG=C xdg-user-dirs-update --force
> LANG=C xdg-user-dits-gtk-update --force
- 上記を行った後、Home 下の日本語のディレクトリを全部消す
- 再起動すると「元に戻すか」と聞かれるが、「今後2度と聞くな」にチェックして、「そのままにする」を選択
- デスクトップに余計なものを表示させない
- デスクトップを右クリックして「設定」
- デスクトップにホームフォルダを表示する: OFF
- デスクトップにごみ箱を表示する: OFF
- デスクトップを右クリックして「設定」
- デスクトップのアイコンを Mac OSX みたいに右上から表示させる
- デスクトップを右クリックして「設定」
- New icons alignment: 右上
- デスクトップを右クリックして「設定」
- gnome-shell(画面上のメニューバー等)の設定
> sudo apt install chrome-gnome-shell
- firefox を起動
- メニューから 設定 > 左下の「拡張機能とテーマ」をクリック > 「アドオンを探す」で
GNOME Shell integration
を探す > インストール - 拡張機能の GNOME アイコン(足跡)をクリックして、extensions.gnome.org に移動
- 以下の extension を入れる
User Themes
Blur my Shell
Dash to Dock
- インストールは、各々の拡張機能のページを開いて、右上の OFF を ON にすると自動的に行われる
- インストール済み拡張機能をクリックして、
Dash to Dock
の設定- 位置とサイズ > 表示位置を「下」
- 後はランチャーとか外観とか透明度とか、お好みで設定
- gnome-terminal(端末)の設定
- タイトルバーの検索・設定アイコンを削除してタイトルバーの高さを普通にする
> gsettings set org.gnome.Terminal.Legacy.Settings headerbar false
- タイトルバーの検索・設定アイコンを削除してタイトルバーの高さを普通にする
テーマ・アイコンのインストールと設定
- 以下で使うツールのインストール
> sudo apt install git gnome-tweak-tool
- Mac OSX (Big Sur) 風テーマの作成
- 以下の GitHub repository を clone
- clone したディレクトリに行き、以下のインストールコマンドを叩く
> ./install.sh --opacity solid --alt normal --theme blue --icon ubuntu --nautilus-style mojave --panel-size smaller
> sudo ./tweaks.sh --gdm default --opacity solid --color dark --theme blue --icon ubuntu
> ./tweaks.sh --firefox
> ./tweaks.sh --dash-to-dock --color dark
- 各オプションの意味は README を参照
- Mac OSX (Big Sur) 風アイコンの作成
- 以下の GitHub repository を clone
- clone したディレクトリに行き、以下のインストールコマンドを叩く
> ./install.sh --theme default --bold
- 各オプションの意味は README を参照
- Mac OSX (Big Sur) 風のカーソルアイコンの入手
-
Releases · ful1e5/apple_cursor から最新バージョンの
macOSBigSur.tar.gz
(もしくはmacOSBigSur-White.tar.gz
もしくは両方)をダウンロード - ダウンロードしたものを解凍する
> mkdir ~/.icons
- 解凍したフォルダを上記のディレクトリに入れる
- 以下の GitHub repository を clone して make しても良いんだけど、yarn とか必要だから、とりあえず簡単な方法を紹介する
-
Releases · ful1e5/apple_cursor から最新バージョンの
- Mac OS の壁紙
-
macOS Wallpapers 等から好きなものをダウンロード
- ここに置いてあるものは解像度が低い
- 他にも探せば色々ある
- Home の Pictures 下に置く
- デスクトップを右クリック > 背景を変更する > 画像を追加
- 好きな画像を追加して設定
-
macOS Wallpapers 等から好きなものをダウンロード
- gnome-tweaks(Tweaks)を起動して設定
- ウィンドウ
- ウィンドウフォーカス > ホバーでフォーカスを当てる:ON
- ↑ これ、Mac OSX でも死ぬほど欲しい!
- ウィンドウフォーカス > ホバーでフォーカスを当てる:ON
- ウィンドウタイトルバー
- タイトルバーボタン > 位置:左
- 外観
- アプリケーション:
WhiteSur-dark-solid
- 外観:
MacOSBigSur
- アイコン:
WhiteSur-dark
- GNOME Shell:
WhiteSur-dark-solid
- アプリケーション:
- ウィンドウ
これで見た目はかなり Mac OSX に近づいたので、あとは趣味的な設定だったり、使いやすくする設定をする。
ランチャーのインストールと設定
Linux のコマンド型ランチャーと言えば Albert、パネル型ランチャと言えば Plank なのだが、何故かどちらも上手く動かなかった。ウィンドウシステムの Wayland と相性が悪いのかも。
パネル型ランチャとしては Dash to Dock
で Dash を設定してしまったので、後はコマンド型ランチャーを入れる。どうやら Ulauncher が良いみたい。
- Ulauncher のインストール
> sudo apt install wmctrl
> sudo add-apt-repository ppa:agornostal/ulauncher
> sudo apt update
> sudo apt install ulauncher
- Ulauncher の設定
- Ulauncher を起動し、メニューバーに出てくる Ulauncher のアイコンをクリックして Preferences を選択
- Hotkey を
Ctrl+Super+Space
に- あなたが Spotlight を起動しているキーボードショートカットに!
- Color Theme を
Elementary Dark
に- あなたの趣味で
- Launch at Login にチェック
- Hotkey を
- Ulauncher を起動し、メニューバーに出てくる Ulauncher のアイコンをクリックして Preferences を選択
- gnome-control-center(設定)を起動して設定
- キーボードショートカット
- 一番下の「+」をクリックして、カスタムショートカットを追加する
- 名前:
ulauncher-toggle
- コマンド:
/usr/bin/ulauncher-toggle
- ショートカット:
Ctrl+Super+Space
- あなたが Spotlight を起動しているキーボードショートカットに!
- キーボードショートカット
- 同じ設定を2箇所でしているけど、両方やらないと上手く動かない
- おすすめ Extension
- System Management
- shutdown とか出来るようになる
- GitHub - leinardi/ulauncher-systemctl
- System Management
- 設定が終わったら、一旦 Ulauncher を終了してから、再び起動した方が良い
キーボードショートカットの設定
私は Mac 用のキーボードを使っているので Super
を多用しているけど、Windows 用のキーボードを使っている人は Super
を Alt
とか適当に置き換えて。
あと英語キーボードなんで、#
, $
, %
はズレてるかも。(要するに 3
, 4
, 5
)
私が趣味でやっていることも含まれているので、やるやらはお任せ。
「Mac OSX では XXX に相当」という項目は、システム環境設定 > キーボード > ショートカットの画面を出した上での設定を意味している。
- gnome-control-center(設定)を起動して設定
- キーボードショートカット
- フルスクリーンモードを切り替える:
Ctrl+Super+F
- 画面をロック:
Ctrl+Super+Q
- アプリケーションを切り替える:
Super+Tab
- これらは Mac OSX では OS に組み込まれていて、変更もできない
- ひとつのアプリケーション内のウィンドウを切り替える:
Super+`
- 全角の
`
で表示してあるけど、半角で - Mac OSX では キーボード > 次のウィンドウを捜査対象にする に相当
- 全角の
- アクティビティ画面を表示する:
Ctrl+Up
- Mac OSX では Mission Control > Mission Control に相当
- 2種類設定できるので、ひとつは無効にして良い
- すべてのアプリケーションを表示:
Ctrl+Down
- これは私の趣味
- Mac OSX では LaunchPad > LaunchPadを表示 に相当
- すべての通常のウィンドウを隠す:
Ctrl+Super+X
- これも私の趣味
- Mac OSX では Mission Control > デスクトップを表示 に相当
- 次の入力ソースへ切り替える:
Ctrl+o
- Wnn, Egg とか使ってた古い人間なんで、
Ctrl+o
しか受け付けない - Mac OSX では 入力ソース > 前の入力ソース に相当
- Wnn, Egg とか使ってた古い人間なんで、
- スクリーンショットを Pictures フォルダーに保存する:
Shift+Super+#
- スクリーンショットをクリップボードにコピーする:
Shift+Ctrl+Super+#
- ウィンドウのスクリーンショットを Pictures フォルダーに保存する:
Shift+Super+$
- ウィンドウのスクリーンショットをクリップボードにコピーする:
Shift+Ctrl+Super+#
- 選択領域のスクリーンショットを Pictures フォルダーに保存する:
Shift+Super+%
- 選択領域のスクリーンショットをクリップボードにコピーする:
Shift+Ctrl+Super+%
- Mac OSX では スクリーンショット の各項目に相当
-
Super+何か1文字
は、他で使ったり間違える可能性が高いので、無効にする- ウィンドウを非表示にする
- アクティブな通知にフォーカスを当てる
- 通知リストを表示する
- フルスクリーンモードを切り替える:
- キーボードショートカット
- gnome-terminal(端末)を起動して設定
- ウィンドウを右クリックして出てくるメニューから設定を選択
- ショートカット
- 新しいタブを開く:
Super+T
- 新しいウィンドウを開く:
Super+N
- コピー:
Super+C
- 貼り付け:
Super+V
- 新しいタブを開く:
- gnome-tweaks(Tweaks)を起動して設定
- キーボードとマウス
- Emacs入力:
ON
- 色んなアプリのテキスト入力が Emacs 的なキーバインドで動くようになる
- アクテビティ画面のショートカット:
右 Super
- 要するに無効にしたいだけ
- Emacs入力:
- キーボードとマウス
日本語入力環境の設定
日本語入力としては既に iBus+Mozc が入っている。しかし、Mozc の入力モード切り替えはキーボードショートカットで上手く操作できないので、起動時から ibus-mozc がデフォルトでひらがなモードになるようにソースを書き換え、入力ソースの切り替えで IME の切り替えを実現する。
このためには、iBus+Mozc のソースコードを持ってきて、ソースコードを(1行だけ)修正した後に、コンパイルしてインストールしなければならない。
- 適当なディレクトリを作って、そこに移動
- ibus-mozc のソースを取ってこられるように apt の設定を変更
-
> sudo vi /etc/apt/sources.list
-
deb-src https://jp.archive.ubuntu.com/ubuntu/ hirsute main restricted
のコメントを外す
-
-
- ibus-mozc がコンパイル出来るよう整える
> sudo apt update
> sudo apt upgrade
> sudo apt build-dep ibus-mozc
- ソースコードを持ってきて修正
> apt source ibus-mozc
> cd mozc-XXXXX
-
> vi $(find . -name property_handler.cc)
- (修正前)
const bool kActivateOnLaunch = false;
- (修正後)
const bool kActivateOnLaunch = true;
- ここのソースを見ると、iBus が 1.5 になったら修正しなくて良くなるかも
- (修正前)
- コンパイルしてインストール
> sudo apt install fakeroot
> dpkg-buildpackage -us -uc -b
> cd ..
> sudo dpkg -i mozc*.deb ibus-mozc*.deb
後は Mozc の設定をするだけ。
-
mozc_tool
(Mozc の設定)を立ち上げて設定- コマンドで立ち上げたい場合は
> /usr/lib/mozc/mozc_tool --mode=config_dialog
- 「一般」で、 キー設定の選択を「ことえり」にする
- コマンドで立ち上げたい場合は
- 念の為、再起動する
シェル・エディタのインストール・設定
シェルは ZSH。エディタは VIM。異論は認めない。
ZSH・VIM のインストール
- ZSH のインストール
> sudo apt install zsh
- 通常使うシェルを ZSH にする
> chsh -s $(which zsh)
- 再ログイン後に有効になる
- VIM のインストール
-
> sudo apt install vim-gtk3
-
vim-gtk3
じゃないと、Ubuntu との clipboard 連携が上手くいかない
-
-
- エディタ関連が全部
/usr/bin/vim.gtk3
に設定されたか確認-
> sudo update-alternatives --get-selections
- 万が一、変更したい場合
> sudo update-alternatives --config [項目]
-
- 今更ながら、ダウンロードするコマンドをちゃんとインストールする
> sudo apt install wget curl
- 高度なファイル名検索、ファイル内容検索ツールのインストール
> sudo apt install fzf silversearcher-ag
- VIM のプラグインマネージャーのインストール
> curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
VIM の設定ファイルに使うプラグインを書いておけば、VIM を起動して :PlugInstall
とコマンドを打つと、ゾロゾロとインストールしてくれる。
ZSH・VIM の設定
ZSH の設定は ~/.zshrc
、VIM の設定は ~/.vim/
以下のファイルでやるのだが、これについて解説しだすと本当に切りがない。
なので以下の repository を用意した。
このレポジトリの zsh/install.sh
と vim/install.sh
を叩くと全部設定するのだが、tmux, powerline と組み合わさって非常に複雑な構成になってしまった。
こんなのやってらんないという方は、設定ファイルの中身だけ参照することをお薦めする。
シェル・VIM の色設定
これについても、凝り出すと無限の時間がかかる。
そこで以下を作った。簡単に設定できるし、切り替えも簡単。一般に公開されているカラースキーマを入れてターミナル, VIM, fzf 全部に一括適用、なんてことも出来る。なんなら自分でカラースキーマを自作することも簡単。だがこれも tmux, powerline と組み合わさっちゃってる。あくまでご参考まで。
フォントの作成・設定
フォントの作成
やっぱり Ricty が好き - Qiita に長々と説明した。そこにも書いたように、以下の場所に一発で全部生成するスクリプトを置いた。
なので dotfiles を clone すれば、fonts/install.sh
を叩くと自動的に全部作ることが出来る。
フォントの設定
- gnome-terminal(端末)の設定
-
> gsettings get org.gnome.Terminal.ProfilesList list
-
['f9fdab58-2b32-4e98-b5f5-08a73cbff619']
のようにプロファイルのUUIDが取れる
-
-
> gsettings set org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:[uuid]/ font "Ricty Discord Nerd 14"
-
[uuid]
は上記で取得した UUID 部分 - 最後のフォント名は、fc-list の出力の2番目のカラムである、OS が認識するフォント名(上記のように空白が入っていても大丈夫)
-
-
- 上記の設定を簡単にするスクリプト
- gnome-terminal(端末)を立ち上げて設定
- ウィンドウを右クリックして出てきたメニューから設定を選ぶ
- プロファイルの「フォントの指定」を
ON
- プロファイルの「フォントの指定」を
- ウィンドウを右クリックして出てきたメニューから設定を選ぶ
- gnome-tweaks(Tweaks)を立ち上げて設定
- フォント
- インターフェースのテキスト:
Noto Sans JP Regular 11
- デフォルトは Ubuntu Regular 11
- ドキュメントのテキスト:
Ricty Discord Nerd Regular 11
- デフォルトは Sans Regular 11
- 等幅テキスト:
Noto Sans Mono CJK JP Regular 13
- デフォルトは Ubuntu Mono Regular 13
- レガシーなウィンドウタイトル:
Noto Sans JP Bold 11
- デフォルトは Ubuntu Bold 11
- インターフェースのテキスト:
- フォント
Python のインストールと Python 仮想環境の構築
- 最初に必要なものをインストール
> sudo apt install python3-pip python3-venv
- pyenv のインストール
> git clone https://github.com/pyenv/pyenv.git ~/.pyenv
> git clone https://github.com/pyenv/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
- poetry のインストール
> curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | /bin/python3 -
> poetry config virtualenvs.path "${HOME}/.pyenv/versions"
- pipx のインストール
> /bin/python3 -m pip install --user pipx
> /bin/python3 -m pipx ensurepath
- Python のコンパイルに必要なライブラリ等をインストール
-
> sudo apt install gcc make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev liblzma-dev
- 最後の
liblzma-dev
を忘れると、後で痛い目に会う
- 最後の
-
後は pyenv, poetry, pipx を使ってドンドン作れば良い。
これらの設定は ZSH の設定に含めたので、dotfiles を参照のこと。
JupyterLab のインストールと設定
JupyterLab App について真面目に考える - Qiita にいっぱい書いた。
インストールだけすれば、設定ファイルは dotfiles にある。
LaTeX のインストールと設定
これも一発でインストールするスクリプトを以下に置いた。
なので dotfiles を clone すれば、latex/install.sh
を叩くと自動的に全部インストールすることが出来る。
設定ファイルも dotfiles にあるので、自動的に設定も出来る。
また LaTeX を書くのは面倒くさいし、そこから PDF を生成するのも面倒くさいので、以下のツールを作った。
これを入れて knit_markdown
コマンドを使うと、Markdown ファイル(XXX.md
)から自動的に PDF を生成することが出来る。
また Markdown のファイル名を XXX.beamer.md
や XXX.beamer169.md
にすることで、プレゼンテーション用の PDF を作ることが出来る。テーマは私が作ったものになるけど。
JupyterLab で作ったレポートを PDF にする
- JupyterLab で IPython Notebook(.ipynb)を作り、何やかんやする
- JupyterLab のメニューから、File > Export Notebook as... > Markdown と選び、IPython Notebook を Markdown に変換して保存する
- 生成された Markdown ファイルを
knit_markdown
で PDF にする
まとめ
ここまでやって、やっと Ubuntu が仕事に使える環境になる。見た目的にも、機能的にも。
最終的な見た目はこんな感じ。