🚀

MacユーザーによるUbuntuスタートガイド

に公開

はじめに

この記事は,Macユーザーが快適にUbuntuを使う[1]ために最初にすると良い(と思う)便利な設定の覚え書きです.
調子が悪くなったマシンのクリーンインストール後に記録として記事を作成しています.
キーマップなどには好みがあると思いますので,個人の意見として読んでください.

  • デバイス: Lenovo Thinkbook 14 Gen 7 (CoreUltra5 125H)
  • プリインストールOS: Windows 11 Home
  • OS: Ubuntu 24.04.2 LTS

0. Ubuntuのインストール

例えば,https://www.kkaneko.jp/tools/ubuntu/ubuntudesktop.html が参考になります,

  1. Ubuntu公式サイトからISOファイルをダウンロードする.
  2. ダウンロードしたISOファイルから起動可能なUSBスティックを作成する.
    • Etcherやrufusなどのソフトで準備できます.
  3. 起動オプションで作成したUSBスティックを選択してUbuntuをインストールする.
    • Windowsの場合はUSBスティックを差した状態でShiftキーを押しながら再起動を選択します.
    • 起動ドライブが選択できるので,USB HDDを選択します.
    • “Try or Install Ubuntu”を選択します.
    • 以後はメニューの指示通り進めばOKです.

1. 設定から変更する項目

ここは完全に好みで変更です.

  • ディスプレイ>スケール:表示の大きさ
  • マウスとタッチパッド:ポインタの速度など
  • キーボード:日本語(Mozc)の詳細設定
  • システム>ユーザー:指紋認証の登録,自動ログインの無効化

設定で自動ログインを無効化していても自動ログインしてしまうことがあります.

cat /etc/X11/default-display-manager

を実行して,ディスプレイマネジャを確認します.gdm3の場合は

cat /etc/gdm3/custom.conf

の中身を見ます.

AutomaticLoginEnable = true
AutomaticLogin = [Username]

となっている場合は自動ログインしてしまうので,これらの行をコメントアウトします.ディスプレイマネジャがlightdmの場合は,

cat /etc/lightdm/lightdm.conf

の中身で,

autologin-user=[Username]

となっている行をコメントアウトします.

2. キーマッピングの変更

Windows PCをベースにUbuntu PCを作るとMacとのキー配列の違いで不便を感じることがありますが,入力は好みで変更することができます.

設定から

Macではスペースキーの左右にIME有効/無効キーがあります.
これに慣れていると半角/全角キーは扱いが難しいので,無変換/変換キーをIME有効/無効に割り当ててしまうと便利です.

  • 設定のキーボードから日本語(Mozc)の設定を選択し,「キー設定の選択」という項目の編集ボタンを押す.
  • キー割り当てのリストが開くので,HenkanキーとMuhenkanキーの割り当てを変更する.
    • Macではテキスト入力状態でなくてもIMEオンオフが変化するがUbuntuではそうではないので若干の違いは受け入れる必要があります.

input-remapperから

キーマッピングの変更にはinput-remapperを使うこともできます.

  • ターミナルで
sudo apt install input-remapper
  • Input RemapperをGUIから選択するか,次を実行する.
input-remapper-gtk
  • Devicesからキーボード(AT Translated Set2 keyboardなど)を選択する.
  • PresetsでNewを選択し新しいプリセットを作る.
  • Editorで好みのRenameとキー割り当てを行う.
    • 私は以下の通り設定しています.
      • Control L → Super L
      • Super L → Control L
      • Eisu toggle (CapsLock) → Control L
      • Zenkaku Hankaku → Escape
  • Applyボタンを押して,Autoloadオプションを選択して完了.
    • 次回起動時から自動で設定が読み込まれます.

Xmodmapから(Xorgの場合)

ターミナルで

xmodmap -pke

を実行すると,キー割り当てを確認することが出来ます.
例えば,

()
keycode  19 = 0 asciitilde 0 parenright
()
keycode  97 = backslash underscore backslash underscore
()

という具合です.
ターミナルから~/.Xmodmapというファイルを作成して,変更したいキーについて以下のように入力しておきます.

keycode  19 = 0 0 0 0
keycode  97 = underscore underscore underscore underscore

設定を反映するにはターミナルで,

xmodmap ~/.Xmodmap

を実行します.
設定に問題なければ,~/.bashrcxmodmap ~/.Xmodmapを追記しておけば次回起動時から自動で反映されるようになります.

Waylandでは有効ではないようです.

3. ディレクトリの表示を英語にする

Ubuntuインストール時にシステム言語を日本語にするとディレクトリも日本語で作成されます(例えば,ダウンロードなど).
英語表記にしておいた方が何かと都合が良いので,変更しておきます.

LANG=C xdg-user-dirs-gtk-update

を実行します.
再起動すると日本語に戻すかと聞かれるので,“次回から表示しない”にチェックを入れた上で“古い名前のままにする”を選択することで英語表記のディレクトリを使うことが出来ます.

4. ネットワークの設定

IPv6を有効化します.
確認するポイントはいくつかありますが,私の場合はFirewallの設定でブロックされていました.

sudo ufw status verbose

を実行した結果が

Status: inactive

などとなっていると無効化されています.
/etc/default/ufwsudo権限で編集して,

IPV6=yes

とした上で,

sudo ufw enable

を実行します.
再度,

sudo ufw status verbose

を実行すると,

Status: active
(略)

と表示されるはずです.

ルーターの設定などでIPv6が有効になっていない場合MacやWindowsでは自動でIPv4に切り替えてくれますが,Ubuntuではそうでないこともあるようです.
その場合には明示的にIPv6を無効化することで接続が安定することもあります.

sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1

再起動するか,以下のコマンドを実行すれば再度IPv6を有効化できます.

sudo sysctl -w net.ipv6.conf.all.disable_ipv6=0
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=0

5. gitのセットアップ

まず,gitをインストールします.

sudo apt-get install git

インストールできたかの確認は以下のコマンドで出来ます.

git --version

インストールができたら,ユーザー名の登録を行います.

git config --global user.name "[UserName]"
git config --global user.email "[UserEmail]"

デフフォルトブランチの名前が違うとGitHubとの連携でトラブルのもとになるので変更しておきます.

git config --global init.defaultBranch main

Githubのトークンを使った認証を簡単化するために,認証情報の登録もしておくと便利です(トークンが平文保存されるので取り扱いには注意が必要です).

git config --global credential.helper store

を実行してから,何らかのリポジトリをcloneしたりしてユーザー名・トークンの入力をすれば,2度目以降は入力を省略できます.

git config --global -l

を実行して情報が登録されていればOKです.
トークンの有効期限切れなどで削除したくなった場合は,

git config --global --unset-all credential.helper

とすれば良いです.

6. アプリケーションのインストールなど

Ubuntu PCにインストールするアプリには以下のようにいくつかの種類があります.

ターミナルからインストールする

input-remapperやvimなどが当てはまります.
ターミナルで

sudo apt install hoge

のようにします.

アプリセンターからインストールする

アプリセンター(Snap Store)からGUI形式でアプリを検索してインストールします(App storeと同じです).
VScodeやSlack,LibreOfficeなどはこのタイプです.

追記: Slackはsnapを使うよりもdebファイルをダウンロードして使った方が良さそうです.
snap版では自動ログインが出来ず,毎回ブラウザへの遷移が必要になってしまいました.

debファイルをダウンロードする

ブラウザからdevファイルをダウンロードしてインストールします.
ダウンロードしたdebファイルをGUIでダブルクリックすればインストールできます.
Chromeなどがこのタイプです.

AppImageをダウンロードする

実行可能ファイルを置いておくタイプです.
例えばCursorが該当します(Cursorのインストールガイド).

大まかな手順は以下の通りです.

  1. まずAppImageファイルをダウンロードします.
  2. AppImageファイルに適当な名前を付け,適当なディレクトリにおきます.
    • AppImageをまとめて置いておくディレクトリを用意しておくと便利です.
  3. AppImageを実行可能にします.
chmod +x hoge.AppImage
  1. 起動するには,hoge.AppImage --no-sandboxをターミナルで実行すれば良いです.
  2. エイリアスを追加しておくと便利になります.
# ~/.bashrc
alias hoge="~/[path] --no-sandbox"

7. 開発環境の準備

ここでインストールするソフトウェアなどは個人によって違うと思いますが,必要な部分があれば参考にして下さい.

Python

Anacondaを利用するのが簡単です.
公式サイトからインストーラをダウンロードします.
ダウンロードしたインストーラをbash Anaconda3-*******-Linux-x86_64.shで実行します.
その後は自動で進んでいきます.
インストール完了後にターミナルを再起動する,あるいはsource ~/.bashrcを実行してパスが通っていれば完了です.
例えば,

which conda

を確認します.

Docker

Docker Engineをインストールするのが標準的です(Docker Desktopも使えるようになっているらしいですがよく知りません).
インストール方法はhttps://docs.docker.com/engine/install/ubuntu/に書いてあります.

  1. 古いバージョンの削除
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
  1. aptリポジトリのセットアップ
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
  1. インストール(アップデートも同じコマンドです)
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

これで一応使えるようになります.
例えば次のようにして確認できます.

docker --version
sudo docker run hello-world

ただし,この状態では毎回sudoをつける必要があって面倒なので,ユーザグループへの追加をします.

  1. ユーザグループの確認
cat /etc/group | grep docker
  1. ユーザグループがない場合は作成します
sudo groupadd docker
  1. ユーザを登録します
sudo usermod -aG docker $USER

次回ログイン以降はsudoなしでdockerを実行できるようになります.

Homebrew

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

を実行します.インストール後にNext stepsが表示されるのでコピペして実行するとパスが通ります.

8. バックアップの準備

MacのTimeMachineのようにスナップショットを取るにはTimeShiftを使います.

  1. インストール
sudo apt install timeshift
  1. SSDを接続します
    • 必要であればext4でフォーマットします(NTFS, FATはサポート外です)
  2. TimeShiftを起動します
  3. オプションを選択します
    • スナップショットの種類はRSYNCが標準です
  4. 作成ボタンを押して完了です
脚注
  1. Macに慣れ親しんでいるけれど,Macは高い!という人を想定しています. ↩︎

Discussion