164
229

Ubuntuインストールしたら行う初期設定チートシート

Last updated at Posted at 2024-07-21

UbuntuをPCにクリーンインストールするのはいいが、
最初は、ほぼ何もソフトが入っていない状態(それがいいのだが)

だから、何かしらのセットアップは行いたい。

ただ、普段Macとかに慣れていると、
久しぶりにUbuntuとかを触ると、
何をすればいいか忘れる...

なので、本記事ではUbuntuを入れたら
最低限設定したいことをまとめようと思う。

CapsLockの無効化してCtrlキーにする

さて、毎度のことですが、宇宙一使いみちがわからないCapsLockを
無効化する作業をしようと思います。

あと、もともとMacのキー配列に慣れてしまった私は、
無変換キーと変換キーの存在意義もよくわからないので、
Ctrlあたりに変えたいと思います。

まずは、各キーのキーコードを調べたいので、

xev

でキーコードを調べます。
CapsLockを押してみます

Screenshot from 2024-07-21 14-10-10.png

keycodeが66ということがわかります。

次に、Xmodmapを使ってキー配列を変更します。
設定ファイルは、~/.Xmodmapなので、

~/.Xmodmap
clear Lock
keycode 49 = Control_L
keycode 66 = Control_L
keycode 100 = Zenkaku_Hankaku
keycode 102 = Zenkaku_Hankaku
keycode 111 = Shift_R
add control = Control_L

xmodmap ~/.Xmodmap

これで再起動したら反映されるはずなのだが、
どういうわけか私の環境だとしつこくCapsLockがつきまとってきた。

なので、アプローチを変えて、
Gnome Tweaksで設定する

sudo apt install gnome-tweaks
gnome-tweaks

で起動して画像のように設定する

Screenshot from 2024-07-21 15-15-45.png

これで再起動したらCapsLockはやっと無効化(というよりCtrlキー)に変換できた

firefoxが気に入らなければ好きなブラウザを入れる

個人的にはFirefoxは結構好きなブラウザなので、
正直Firefoxをそのまま使うというのもありなのですが
(そのほうがなんとなくLinuxっぽい気もするし)、
Batの小銭稼ぎのために、
ここはやはりBraveを入れとこうと思います。

sudo apt-get update
sudo apt install curl

sudo curl -fsSLo /usr/share/keyrings/brave-browser-archive-keyring.gpg https://brave-browser-apt-release.s3.brave.com/brave-browser-archive-keyring.gpg

echo "deb [signed-by=/usr/share/keyrings/brave-browser-archive-keyring.gpg] https://brave-browser-apt-release.s3.brave.com/ stable main"|sudo tee /etc/apt/sources.list.d/brave-browser-release.list

sudo apt update

sudo apt install brave-browser

ちなみに、Braveはhtmlファイルにブックマックをエクスポートとインポートができるので、
それでブックマックを復元するのがいいかと思います。

私はこのHTMLファイルはGithubのPrivateリボジトリで管理しているので、
cloneするために次にgitの設定を行う。

gitの設定

まずはインストール

sudo apt install git
git config --global user.name 'user_name'
git config --global user.email "user@example.com"

ちゃんと設定できているか確認

git config --list

次にgitのssh設定をしたい。
まずはsshキーを作成

ssh-keygen

さてこいつの中身をコピーしたい。
Macとかならpbcopyで終了なのだが、
linuxの場合違うアプローチが必要だ。

linuxの場合、xselというものが使えるので
インストールする

sudo apt install xsel

インストールしたら、クリップボードに公開鍵をコピーする。

cat ~/.ssh/id_rsa.pub  | xsel --clipboard --input

追加したらGithubのsshキーの項目に追加する。
追加したら、

ssh -T git@github.com

これでHiと返ってくれば、
git cloneとかでsshで持ってこれる

vim/neovimの設定

もちろん、neovimとかの設定をしないことには
何も始まらない。

vimmerであれば、dotfileみたいなリボジトリを持っているであろうから、
そいつをcloneして、各々設定を適用させる。

sudo apt install neovim

init.luaとかの設定ファイルをcpする
※私の環境の例

mkdir ~/.config/nvim
cp init.lua ~/.config/nvim/
mkdir ~/.config/nvim/lua
cp -r lua ~/.config/nvim/

さてこれでnvimを起動すればプラグインとかインストールして終わりかと思いきや、
何やらエラーが。lazy.nvimは0.8以上のneovimのバージョンがいるが、
さきほど、apt installしたneovim0.6とかだった。

なので、一旦neovim削除する

sudo apt-get remove neovim

そして、ここに書かれている内容をもとに、
最新のneovimをインストールするようにする

curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim-linux64.tar.gz
sudo rm -rf /opt/nvim
sudo tar -C /opt -xzf nvim-linux64.tar.gz

使っているシェルの設定ファイル(UbuntuとかならデフォルトはBash?)
.bashrcとかに下記を追記してパスを通す

export PATH="$PATH:/opt/nvim-linux64/bin"

sourceコマンドとかで設定ファイルを読み込み直して、
nvimと起動してpluginとかのインストールが始まればOK

最初は、node.jsとか入れていないので、
そのあたりのエラーは出るかもしれない

私の環境でnvimを実行すると

Screenshot from 2024-07-20 07-14-59.png

みたいなエラーが出ました

build-essentialをインストールしてみます

sudo apt update && sudo apt install build-essential

これでNo C compiler found周りのエラーは消えるはずです
※yadmのやつは、以前は(というかMacでは)エラーにならなかったのですが、
Linuxではinvalid configurationになるようなので、削除またはコメントアウトしました。

nodejs

ただ、coc.nvim周りでnode.jsがないとエラーになるので、
node.jsの設定もします。

詳しくは下記の記事を参考にnvmを入れて導入しようと思います

これで好きなバージョンのnode.jsを入れたら、
先程のnode is not executableみたいなエラーは消えるはずです

ripgrep(rg)、fd導入

nvimで:checkhealthコマンドを実行すると、
外部ツールとかで足りていないものがわかる。

代表的なものだと、telescope.nvimで使う、
ripgrepやfdとかなので、まずはこやつらを入れて、
telescope.nvimの力を引き出す

ripgrep(rg)

ubuntuの場合だと、

curl -LO https://github.com/BurntSushi/ripgrep/releases/download/14.1.0/ripgrep_14.1.0-1_amd64.deb
sudo dpkg -i ripgrep_14.1.0-1_amd64.deb

でインストールできる

fd(fd-find)

sudo apt install fd-find

実は、これだけでnvimのcheckhealthは突破できるのだが、
fdコマンドでこのパッケージのコマンドを呼び出せないので、
公式に書いてあるとおり、fdコマンドをそのまま使いたい場合は
シンボリックリンクを貼る必要がある

mkdir ~/.local/bin # もしなければ
ln -s $(which fdfind) ~/.local/bin/fd

~/.local/binにはPATHを通しましょう

~/.bashrc
export PATH="$PATH:$HOME/.local/bin"

※fdにこだわらず、fdfindと打てば使えるので、
alias設定でも十分かもしれない

これでtelescope.nvimも十分使えるだろう

tmuxの設定

tmuxの詳細についてはこちらで

まずはインストール

sudo apt install tmux

インストールしたら、設定ファイルをcpして
読み込ませる

cp tmux.conf ~/.tmux.conf
tmux source-file ~/.tmux.conf

zshの設定

シェルは好き好きあると思うが、
私は無難にzshにしている。

まずはzshをインストール

sudo apt install zsh

zshが使えるか確認

cat /etc/shells

zshが入っていたら

chsh -s /bin/zsh

で次回からzshになるはず(変わっていなかったら再起動とかすれば反映されているはず)

シェルが変わっているかどうかは

echo $SHELL

で確認できる

zshにしたらあとは設定あるのみ。

設定ファイルをまとめた
dotfilesリボジトリをcloneして
cpする

私の場合の設定ファイルリボジトリ(dotfiles)

cp zshrc ~/.zshrc
source ~/.zshrc

oh-my-zshの設定

zsh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

これやると、zshrcがたしか上書きされるので、
先にこれをインストールしてから、設定ファイルをcpしたほうがいいかもです...

powerlevel10kの設定

ターミナルをある程度かっこよくするために、
powerlevel10kを導入しときます。

oh-my-zsh経由でインストールします。

git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k

.zshrcに

,zshrc
ZSH_THEME="powerlevel10k/powerlevel10k"

# 設定ファイルがある場合 なければp10k configureコマンドを実行
if [ -f ~/.p10k.zsh ]; then
  source ~/.p10k.zsh
fi

に追記します。

私の場合tmuxも使っているので、
tmux起動時にp10kの設定とfusumaを読み込ませるために、

.zshrc
# 一度だけ実行するためのフラグ
if [[ -z "$ZSHRC_EXECUTED" ]]; then
  export ZSHRC_EXECUTED=1
  # 初回シェル時のみ tmux実行
  if [ -z "$TMUX" ]; then
    fusuma -d
    tmux new-session -A -s main
  fi
  source ~/.zshrc
fi

みたいな感じにしています。

zoxideのインストール

これも必須ツールなので入れようと思います。

curl -sSfL https://raw.githubusercontent.com/ajeetdsouza/zoxide/main/install.sh | zsh

.zshrcに下記を追記する

eval "$(zoxide init zsh)"

ziコマンドも使いたいので、
fzfも入れます

sudo apt install fzf

これでzとziコマンドが使えるはず

Ruby、rbenvの設定

Ruby,Railsエンジニアならこれらも入れておきましょうか。

git cloneでのインストールにしておきまs

git clone https://github.com/rbenv/rbenv.git ~/.rbenv

initします

~/.rbenv/bin/rbenv init

って実行したら終了かと思いきや、
なにやらエラー

Screenshot from 2024-07-21 16-16-56.png

なるほど、rbenvの設定があると、
.zshrcのrbenv initの部分をコメントアウトしてもう一度実行する。

すると、また同じエラーに...

どういうことだと思ったので、
rbenvのソースを見てみた

どうやら、grepでrbenv initにヒットしたらだめっぽいので、
コメントアウトじゃなくて消去しないとだめみたい

消して再度試したらうまく行った。

Macのときに追加するeval "$(rbenv init - zsh)"みたいな設定とは
地味に違う設定が.zshrcの末尾に追加されていた

ただ、ためしにrbenv installを実行してみても、
なにやらinstallコマンドがないとのエラーが出るので、
下記も実行する

git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build

あとは、3.3.4でもインストールしてみる

rbenv install 3.3.4

ただこれを行うと、今度はzlib.hがないみたいなエラーが出るので、
そっちをインストールする

sudo apt install zlib1g-dev
sudo apt install libffi-dev libssl-dev libyaml-dev #上だけだとまた依存ライブラリが足りない的なエラー出るのでこちらも

もう一度インストールしたら、
うまくいくはず。
あとは、globalに設定する

rbenv global 3.3.4

Dockerの設定

お次はDockerの設定

Macとかなら、
OrbStackという選択肢もあるが、
Ubuntuの場合、使えなさそうです。

MacとかならDocker DesktopをGUIでぽちぽちインストールして、
はい終了って感じなのですが、
Linuxの場合ちょっと手順が増えます。

Docker Engineのインストール

まず、Docker engineを入れます

やり方はいろいろありますが、
apt repositoryのやり方でインストールします。

まずは、apt repositoryの設定をします

# 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 "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

次に、dockerのパッケージをインストールします。

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

無事dockerが入っているか確認してみます

docker -v
sudo docker run -it ubuntu bash

ただ、このままだといちいちsudoを打たないといけないので、
下記を参考にsudoなしでも実行できるようにしたほうがいいかも

Homebrewの導入

めちゃくちゃ今更だが、
Homebrewも一応入れておいた方がいいかも?
(ぶっちゃけなくてもいい気もしますが)

 (echo; echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"') >> /home/ユーザー名/.zshrc
 eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
 sudo apt-get install build-essential

alacrittyの導入設定

Macだと、ついついiTerm2に頼ってしまうが、
もちろん、Linuxでは使えない。

ターミナルの選択肢は色々あるといえばあるが、
おそらく一番無難であろうalacrittyを導入する

どっかの記事でalacrittyもHomebrewでインストールできる的な記載を見かけた気がして、試してみたが、普通にインストールできなかったので、
公式に書いてあるやり方でやってみることとする。

まずは、ソースコードを持ってくる

git clone https://github.com/alacritty/alacritty.git
cd alacritty

次にrustupとやらを入れる

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | zsh

※公式だと、zshではなくshだったが、なんかうまく行かなかったので、zshに変えています。

rustup override set stable
rustup update stable

次に依存パッケージを入れる

sudo apt install cmake pkg-config libfreetype6-dev libfontconfig1-dev libxcb-xfixes0-dev libxkbcommon-dev python3

いよいよbuild

cargo build --release
infocmp alacritty

これでエラーが出るようなら、

sudo tic -xe alacritty,alacritty-direct extra/alacritty.info

次にデスクトップエントリー追加する

sudo cp target/release/alacritty /usr/local/bin
sudo cp extra/logo/alacritty-term.svg /usr/share/pixmaps/Alacritty.svg
sudo desktop-file-install extra/linux/Alacritty.desktop
sudo update-desktop-database

zshの設定

mkdir -p ${ZDOTDIR:-~}/.zsh_functions
echo 'fpath+=${ZDOTDIR:-~}/.zsh_functions' >> ${ZDOTDIR:-~}/.zshrc
cp extra/completions/_alacritty ${ZDOTDIR:-~}/.zsh_functions/_alacritty

AlbertとCopyQによるAlfredに代わるランチャーとクリップボード

Albertをインストールする

ubuntuの場合、バージョンごとにコマンドが違うようなので、
まず、使っているubuntuのバージョンを調べる

lsb_release -a 

私の環境だと、Ubuntu 22.04.4 LTSだった。

上記のAlbertにかかれていたコマンドを実行してみる

echo 'deb http://download.opensuse.org/repositories/home:/manuelschneid3r/xUbuntu_22.04/ /' | sudo tee /etc/apt/sources.list.d/home:manuelschneid3r.list
curl -fsSL https://download.opensuse.org/repositories/home:manuelschneid3r/xUbuntu_22.04/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/home_manuelschneid3r.gpg > /dev/null
sudo apt update
sudo apt install albert

あとは起動すれば使えるはず

ちなみにどういうわけか、ubuntu 22.04だと、
ホットキーでalbertが有効にならなかったので、
ubuntu自体のキーボードショットカットを設定した。

Screenshot from 2024-07-15 14-40-03.png

スクリーンショットは、print screenボタンで取ることができる
※ubuntu 22.04だとShift + print screenの範囲選択ができない模様

クリップボード連携のために、
copyQも入れておく

sudo apt-get install copyq

ちょっとわかりにくいが、
AlbertのQueryの部分でCopyQをどうやって呼び出すかを設定できる。
この場合、cpでクリップボードの中身を確認できる。

ただ、ホットキーで呼び出して、
cpで中身をみたあと、エンターをおしても
はりつけされず、直前のコピー履歴として設定されるだけだったので、
ここはAlfredのように貼付けされるように設定できたらいいなと思っている。

ちなみに、copyqはcopyq toggleみたいなコマンドできどうすることもかの

Screenshot from 2024-07-15 14-57-30.png

fusumaによるジェスチャー設定

Macとかだと三本指ジェスチャーとか色々あるが、
それをUbuntuでも設定したい。

そこでfusumaを使う。

sudo apt update
sudo apt install libinput-tools ruby
sudo apt install xdotool
sudo gem install fusuma

次に設定ファイルを作る

mkdir -p ~/.config/fusuma
nvim ~/.config/fusuma/config.yml

config.ymlは

config.yml
swipe:
  2:
    left:
      command: 'xdotool key alt+Left'  # 前に戻る
    right:
      command: 'xdotool key alt+Right' # 次に進む

  3:
    left:
      command: 'xdotool key ctrl+alt+Right'
    right:
      command: 'xdotool key ctrl+alt+Left'
    up:
      command: 'xdotool key super'
    down:
      command: 'xdotool key super+a'

  4:
    left:
      command: 'xdotool key ctrl+alt+Left'
    right:
      command: 'xdotool key ctrl+alt+Right'
    up:
      command: 'xdotool key ctrl+t'  # 新しいタブを開く
    down:
      command: 'xdotool key ctrl+w'  # タブを閉じる

pinch:
  in:
    command: 'xdotool key ctrl+minus'
  out:
    command: 'xdotool key ctrl+plus'

threshold:
  swipe: 0.3
  pinch: 0.1

保存したら、

fusuma

で起動する。

ただ、最初はpermission errorみたいなのが出るので、

sudo gpasswd -a $USER input

一旦再起動

もう一度

fusuma -d
fusuma -v

で適用されているはず

あとは、再起動とかしても自動的に
fusumaが起動されるようにsystemdに登録します。

sudo vi /etc/systemd/system/fusuma.service

でサービスファイルを追加します。
中身は、

[Unit]
Description=Fusuma Gesture Recognizer

[Service]
ExecStart=/usr/local/bin/fusuma -d
Restart=always
User=YOUR_USERNAME

[Install]
WantedBy=default.target

あとは、サービスをenableにします。

sudo systemctl daemon-reload
sudo systemctl reset-failed
sudo systemctl enable fusuma.service
sudo systemctl start fusuma.service

これでうまく行くかとおもいきや、
私の環境だとうまくいかなかったので、
一旦諦めて、.zshrcの設定ファイルの
tmux起動と同じく書くことにした

.zshrc
if [ $SHLVL = 1 ]; then
  fusuma -d
  tmux
fi

DaVinci Resolve

動画編集ソフトもいれときたい。

まずは上記のURLからzipファイルをダウンロードする。
そうしたら、ダウンロード配下のフォルダにzipフォルダがあるはずなので、

cd ~/Downloads/
unzip ./DaVinci_Resolve_18.6.6_Linux.zip

でまずは解凍して

chmod +x ./DaVinci_Resolve_18.6.6_Linux.run
sudo ./DaVinci_Resolve_18.6.6_Linux.run -i

で実行する

すると、私の環境だと、
dlopen(): error loading libfuse.so.2 AppImages require FUSE to runみたいなエラーが出たので、

sudo apt update
sudo apt install fuse

で再度、sudo ./DaVinci_Resolve_18.6.6_Linux.run -iを試すと、
missing packagesのエラーが出たので、
下記のようなパッケージもインストールしてみる

sudo apt install libapr1 libaprutil1 libxcb-composite0 libxcb-cursor0 libxcb-damage0 libxcb-xinerama0 libxcb-xinput0 ocl-icd-libopencl1

これで再度、sudo ./DaVinci_Resolve_18.6.6_Linux.run -iを試すと、
インストールされるはず。

ただこのままだと画像のようなGPUのエラーがでる
Screenshot from 2024-07-24 20-48-41.png

Nvidia Driverを入れる

sudo apt install nvidia-driver-460

実行後再起動

nvidia-smi
lspci | grep -i nvidia

OBS Studio

動画編集ソフトとセットで、
画面収録アプリとして定評がある、
OBSも入れておこうと思います。

sudo apt-get install ffmpeg
sudo add-apt-repository ppa:obsproject/obs-studio
sudo apt update
sudo apt-get update && sudo apt-get install obs-studio

ちなみに、Waylandセッションだと、
ウインドウキャプチャが選択肢に出てこなかったので、
Xorgセッションに切り替えたら表示された。

画面サイズがおかしいときは、右クリックで
出力サイズ変更でなおった

ちなみに、このOBSの作業をしているときに、
急に設定アプリが消えてしまったので、
下記でインストールしなおした。

sudo apt install gnome-control-center
gnome-control-center

これで起動できた

SSF2

おまけにスマブラ入れときますか

SSF2BetaLinux.v1.3.1.2.tarみたいなファイルをダウンロードしたら解凍する

tar -xvf SSF2BetaLinux.v1.3.1.2.tar

SSF2_Readme.txtに書いてある通り、

chmod u+x trust-ssf2.sh
./trust-ssf2.sh

あとは

./SSF2

で起動

Omakubを使えば解決!?

最近話題の(?)かのDHH大先輩が作成したomakubを試してみる。
こいつで最低限必要そうなやつを入れてみるのもありかも。

164
229
0

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
164
229