188
Help us understand the problem. What are the problem?

posted at

updated at

Ubuntuをちょっと使いやすくする設定集

Ubuntuをインストールすると毎回設定すること

 今月はUbuntu強化月間ということで、Ubuntuをセットアップし直しています。私はLinuxはしょっちゅうセットアップをしなおすのと、たくさんのマシンを使う関係上、あんまりデフォルトから変えない(バリバリにカスタムはしない)方なのですが、その中でも毎回のように実施する設定も結構あったりします。

 自分へのメモも兼ねて、そんな(自分にとって)鉄板の設定手順を、Linux PCの購入段階から一通りまとめてみたいと思います。

 この記事の対象としている人は、Linuxの基礎的なコマンドは理解しているくらいの初心者〜中級者です。用途は、機械学習や趣味的なソフト開発です。Ubuntuは18.04を主に対象としていますが、16.04/20.04あたりは共通です。

 対象としていないのは、フロントエンド関係・インフラ系開発者・上級者・Ubuntu以外のディストリビューションを使用する方です。あくまで個人的な設定メモなので、参考程度に見てもらえるとありがたいです。

 セットアップは、大体以下にまとめているので、この記事はこのリポジトリの補足説明的な位置付けです。

 最初に最低限以下コマンド実行して、gitとcurlのインストールはしている前提です。

Ubuntu PCの購入

 Ubuntuのセットアップは、PCを買う時点で始まっていると言っても過言ではありません(本当か?)Ubuntuの以下サイトに、動作確認されたPCのリストがあるので、この辺りから選ぶと良いでしょう。

Ubuntu Desktop certified hardware

 会社や友人にUbuntu詳しい人がいたら、とりあえず同じ機種を買うのが良いでしょう。

 全く当てが無く、用途もあんまり明確で無ければ、LenovoやHPのノートPCあたりから始めるのが良いかなと思います。

 多少古いPCの方が比較的トラブル少ないです(ドライバが対応してくれているので)。

 お手頃価格のミニPCだと「SEEED ODYSSEY X86J4105」が良いかと思います。以下記事参照ください。

BIOSの設定・Ubuntu OSのインストール

 Ubuntuを使う場合は、BIOSのセキュアブートは無効化しておいた方が色々便利です(NVIDIAのドライバなどでハマったりするので)。Ubuntuのインストール方法と合わせて、以下記事に記載しているのでこちらを参照ください。

DockerでのディープラーニングGPU学習環境構築方法

DockerでGPU学習環境セットアップ(NVIDIA GPUドライバ)

 Dockerで機械学習とかディープラーニングやりたい人は以下記事参照ください。興味無い人は、ここはスキップしてください。

DockerでのディープラーニングGPU学習環境構築方法

初期設定

 最初にやる初期設定のまとめです。

最低限のソフトインストール

 以下コマンド実行して、セットアップに必要な最低限のソフトをインストールします。

$ sudo apt update
$ sudo apt -y install git
$ sudo apt -y install curl

ディレクトリの英語化

 Ubuntuを日本語でセットアップした際、ホームディレクトリのデフォルトのディレクトリが「デスクトップ」と「ダウンロード」といった日本語名ディレクトリになるのが地味に不便です。

 以下コマンドを実行すると、全部英語名(Desktop, Download, ...)になります。

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

 最初から英語版入れれば良いじゃんと言われればそれまでなのですが、ネイティブジャパニーズの軟弱ボーイなので…

自動更新(バージョンアップ)の停止

 バージョン勝手にあげられると困る環境では、自動更新を止めましょう。以下コマンドを実行します。

$ sudo dpkg-reconfigure --priority=low unattended-upgrades

 続いて出てくる画面で「自動的に安定版の更新をダウンロードしてインストールしますか?」というようなことが聞かれるので「いいえ」を選択すれば自動更新を止められます(「はい」にすると、自動で更新されます)。

 実際に設定されるファイルは/etc/apt/apt.conf.d/20auto-upgradesです。

 手動で設定したい場合は、以下の通りに0に設定することで自動更新を停止できます(1にすると自動更新します)。

APT::Periodic::Update-Package-Lists "0";
APT::Periodic::Unattended-Upgrade "0";

Google Chromeと拡張機能のインストール

以下コマンドでGoogle Chromeをインストールできます。

$ wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
$ sudo dpkg -i google-chrome-stable_current_amd64.deb

拡張機能は、1PasswordとAwesome Screenshotを入れています。

1Passwordに関しては以下記事参照ください。

Awesome Screenshotに関しては以下記事参照ください。

Google Chromeリモートデスクトップに関しては以下記事参照ください。

互換ブラウザのChromiumは以下コマンドでインストールできます。Google Chromeが良いと思いますが、こだわりなどありましたらこちらをインストールください。

$ sudo apt -y install chromium-browser

Gitの初期設定

Gitを使う人は設定必要ですね。以下コマンド例です。名前とメールアドレスは自分のものに合わせて変更してください。

$ git config --global user.name "karaage umauma"
$ git config --global user.email "karaage@umauma.com"

 Gitのパスワードを保存しておきたい場合は、以下実行しましょう。

$ sudo apt install -y libgnome-keyring-dev 
$ cd /usr/share/doc/git/contrib/credential/gnome-keyring
$ sudo make
$ git config --global credential.helper /usr/share/doc/git/contrib/credential/gnome-keyring/git-credential-gnome-keyring

参考:https で git push するときのパスワードをGNOMEのキーリングに保存する

ウィンドウマネージャーの軽量化

注: 自動ログイン設定など、色々設定がよく分からない点があるので、最近は使っていません。

 LXDE(Lubuntu)が軽いので、入れ替えて使ってます。以下のコマンドでインストールします。依存関係があったので2回に分けていますが、バージョンによっては下の1行だけでもいけるかもしれません。

$ sudo apt install -y lubuntu-gtk-core
$ sudo apt install -y lubuntu-desktop fcitx-mozc

 途中、選択肢がいくつか出てくるので「lightdm」を選びました(適当に選んでます)。

 セットアップ後、再起動するとログイン画面の右上のアイコンから使用するウィンドウマネージャを選択できるようになるので「lubuntu」を選択します。

 以下のような画面になります。あきらかに動作が軽くなると思います。

lubuntu_screen.png

 最初からLubuntu使うという方法もあるみたいですが、そこはほら、軟弱ボーイなので…

マルチディスプレイの設定

 マルチディスプレイを使いたい場合は、ARandRを使うのが良いです。以下でインストールできます。

$ sudo apt install -y arandr

 インストールしたら、以下コマンドで起動できます。

$ arandr

 HDMIやDisplay Portでディスプレイと接続しているとき、うまくディスプレイを認識できないとき(モニタが省電力モードに入ってしまう等)があります。そのときは、PCとディスプレイのネゴシエーションがうまくいってない可能性が高いので、接続したまま再起動するとうまく認識してくれるかもしれません。

参考:ARandRがめっちゃ良いって話

.bashrc設定

 .bashrcは、大体3つを追記しています。

  • キーボード設定
  • openコマンドのエイリアス
  • Gitのブランチ名をプロンプトに表示

 以下コマンドで一気に設定できます。

$ curl -l https://raw.githubusercontent.com/karaage0703/ubuntu-setup/master/bashrc.patch >> ~/.bashrc

 設定に関して、順に簡単に説明します。

キーボード設定する

 CAPSキーをCTRLキーにする

setxkbmap -model jp106 -layout jp -option ctrl:nocaps

openコマンドのエイリアス

 $ open .とコマンド打つと、今いるディレクトリをフォルダで開くようにするために設定します。Macとコマンドを同じにしたいので設定しています。

alias open='xdg-open'

Gitのブランチ名をプロンプトに表示

 Gitで管理されているリポジトリで、プロンプトにブランチ名が表示されるようにする設定です。お好みで。

$ export PS1='\[\033[32m\]\u@\h\[\033[00m\]:\[\033[34m\]\w\[\033[31m\]$(__git_ps1)\[\033[00m\]\$ '

__GIT_PS1: コマンドが見つかりませんというエラーが出る場合は、以下コマンドを実行してください。

$ cd ~ 
$wget https://raw.githubusercontent.com/git/git/master/contrib/completion/git-prompt.sh
$ wget https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash
$ mv git-prompt.sh .git-prompt.sh
$ mv git-completion.bash .git-completion.bash
$ source .bashrc

参考:_GIT_PS1: コマンドが見つかりません

タッチパッドをOFF

 これは.bashrcに追加するかは好み次第ですが、ノートPCのタッチパッド、Linuxだと誤動作多く使いづらいことが多いです。私は思い切ってタッチパッドは殺してしまい、マウスを使っています。以下コマンドでタッチパッドをオフにできます。

$ synclient TouchpadOff=1

 マウスがないと困ってしまうので、.bashrcには書いていません。

エディタ関係セットアップ

 エディタをセットアップします。最近はほとんどVS Codeですが、いざというとき(?)のためにVimもセットアップしておきます。

VS Code

 UbuntuのVS Code、snap版日本語が入力できないバグがあるので、deb版をインストールしましょう。以下コマンドでOKです。

$ curl -s https://raw.githubusercontent.com/karaage0703/ubuntu-setup/master/install-vscode.sh | /bin/bash

 拡張機能のインストールや、その他の詳しい使い方に関しては、VS Codeエディタ入門という無料本をZennで公開していますので、よければ参考にしてみてください。

Vim

 とりあえずvimは入れておきます。

$ sudo apt install -y vim

 昔は、色々拡張入れてましたがVS Code使うようになってからは、デフォルト運用しています。拡張に興味ある人は以下リポジトリ参照ください。

標準のエディタ設定

 標準のエディタはnanoエディタが起動するので、使い慣れていない人は以下コマンドで使い慣れたエディタを設定しておきましょう。

$ sudo update-alternatives --config editor

ターミナル関係セットアップ

ターミナル「Hyper」

 Hyperが見た目がおしゃれなのと、ウィンドウ分割できるので使っています。Macでも使えます。コマンドだとちょっとめんどくさいのでHyper公式サイトでパッケージをダウンロードしてインストールします。

 設定は以下コマンドで行います(Macの設定ファイルと共用してます)。

$ curl https://raw.githubusercontent.com/karaage0703/mac-dotfiles/master/.hyper.js > ~/.hyper.js

 環境によっては、設定ファイルの場所が~/.config/hyper/.hyper.jsかもしれません。その場合は、~/.hyper.jsを適宜修正ください。

 その他詳細は以下記事参照ください。

マルチプラットフォーム対応のターミナル「Hyper」

仮想ターミナル「byobu」

 仮想ターミナルはbyobuを使っています。リモートマシンで機械学習走らせたり、ROS使ったりする人は便利です。

 詳細は以下参照ください。

byobuで仮想端末入門(Mac/Linux/Raspberry Pi)

Python関係のセットアップ

 Python、以前はPyenv等の仮想環境を使ってセットアップしていましたが、最近は様々な理由によりDockerやクラウド環境を使うことが多いです。仮想環境構築したい場合は以下記事を参考にしてみてください。

Pythonで機械学習をするための環境を雑にセットアップする方法(Jupyter notebook環境、ディープラーニング環境含む)on Mac/Linux

タスクアプリインストール

 Microsoft 「To Do」が好きなのでインストールします。非公式ですが、AOというアプリで使えます。インストールは以下コマンドです。

$ sudo snap install ao

 以下記事を参考にしました。

その他トラブルシューティング

ディスプレイが回転する

 Realsenseなどのセンサが内蔵されているデバイスを使うと発生する現象です。以下でセンサのドライバをアンインストールすれば良いそうです。

$ sudo apt remove -y iio-sensor-proxy

参考: Realsenseを回転させたらPC画面が回転する!(解決法)

Proxy関係

 以下記事参照ください

まとめ

 Ubuntuをちょっと使いやすくする設定に関してまとめてみました。この後も、必要に応じて色々ソフトをインストールしますが、それらは人によって様々だと思いますので、なるべく多くの人に共通しそうな設定をまとめてみました。

 人によって要不要は全然違うとは思いますが、何かの参考にあんれば幸いです。他にオススメの設定やソフトなどありましたらコメントや編集リクエストいただけたら幸いです。

参考リンク

Ubuntu をインストールしたら設定すること 13 ヶ条

Ubuntu 22.04 をインストールしたら設定すること 10 ヶ条

関連記事

Macを購入後に行う初期設定まとめ(エンジニア向け)

PCL(Point Cloud Library)+ROSで3次元画像処理入門

重要なのに忘れがちなapt関係のコマンドのメモ

変更履歴

  • 2022/04/24 微修正
  • 2021/03/15 微修正
  • 2020/10/28 全体的にアップデート
  • 2020/09/04 自動更新の停止に関して追記
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
188
Help us understand the problem. What are the problem?