LoginSignup
111
108

More than 1 year has passed since last update.

UbuntuをMacOSXみたいにする話

Last updated at Posted at 2021-10-07

個人的な話になるけど、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 に焼く
  • 電源投入直後に EscF12 を押して 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

インストール直後の見た目はこんな感じ。

ubuntu_default.png

外観を 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) 風アイコンの作成
  • Mac OSX (Big Sur) 風のカーソルアイコンの入手
    • Releases · ful1e5/apple_cursor から最新バージョンの macOSBigSur.tar.gz(もしくは macOSBigSur-White.tar.gz もしくは両方)をダウンロード
    • ダウンロードしたものを解凍する
    • > mkdir ~/.icons
    • 解凍したフォルダを上記のディレクトリに入れる
    • 以下の GitHub repository を clone して make しても良いんだけど、yarn とか必要だから、とりあえず簡単な方法を紹介する
  • Mac OS の壁紙
    • macOS Wallpapers 等から好きなものをダウンロード
      • ここに置いてあるものは解像度が低い
      • 他にも探せば色々ある
    • Home の Pictures 下に置く
    • デスクトップを右クリック > 背景を変更する > 画像を追加
    • 好きな画像を追加して設定
  • gnome-tweaks(Tweaks)を起動して設定
    • ウィンドウ
      • ウィンドウフォーカス > ホバーでフォーカスを当てる:ON
        • ↑ これ、Mac OSX でも死ぬほど欲しい!
    • ウィンドウタイトルバー
      • タイトルバーボタン > 位置:左
    • 外観
      • アプリケーション: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 にチェック
  • gnome-control-center(設定)を起動して設定
    • キーボードショートカット
      • 一番下の「+」をクリックして、カスタムショートカットを追加する
      • 名前: ulauncher-toggle
      • コマンド: /usr/bin/ulauncher-toggle
      • ショートカット: Ctrl+Super+Space
        • あなたが Spotlight を起動しているキーボードショートカットに!
  • 同じ設定を2箇所でしているけど、両方やらないと上手く動かない
  • おすすめ Extension
  • 設定が終わったら、一旦 Ulauncher を終了してから、再び起動した方が良い

キーボードショートカットの設定

私は Mac 用のキーボードを使っているので Super を多用しているけど、Windows 用のキーボードを使っている人は SuperAlt とか適当に置き換えて。
あと英語キーボードなんで、#, $, % はズレてるかも。(要するに 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 では 入力ソース > 前の入力ソース に相当
      • スクリーンショットを 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
        • 要するに無効にしたいだけ

日本語入力環境の設定

日本語入力としては既に 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.shvim/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.mdXXX.beamer169.md にすることで、プレゼンテーション用の PDF を作ることが出来る。テーマは私が作ったものになるけど。

JupyterLab で作ったレポートを PDF にする

  • JupyterLab で IPython Notebook(.ipynb)を作り、何やかんやする
  • JupyterLab のメニューから、File > Export Notebook as... > Markdown と選び、IPython Notebook を Markdown に変換して保存する
  • 生成された Markdown ファイルを knit_markdown で PDF にする

まとめ

ここまでやって、やっと Ubuntu が仕事に使える環境になる。見た目的にも、機能的にも。

最終的な見た目はこんな感じ。

like_MacOSX.png

111
108
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
111
108