Help us understand the problem. What is going on with this article?

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

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

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

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

 この記事の対象としている人は、Linuxの基礎的なコマンドは理解しているくらいの初心者〜中級者です。用途は、機械学習や趣味的なソフト開発です。

 対象としていないのは、フロントエンド関係・インフラ系開発者・上級者・Ubuntu以外のディストリビューションを使用する方です。

 あくまで個人的な設定メモなので、参考程度に見てもらえるとありがたいです。

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

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

$ sudo apt-get update
$ sudo apt-get -y install curl
$ cd && git clone https://github.com/karaage0703/ubuntu-setup

Ubuntu PCの購入

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

Ubuntu Desktop certified hardware

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

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

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

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

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

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

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

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

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

ディレクトリの英語化

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

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

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

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

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

 バージョン勝手にあげられると困る環境の場合は、
 /etc/apt/apt.conf.d/20auto-upgrades を編集します。

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

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

 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使うという方法もあるみたいですが、そこはほら…軟弱ボーイなので。

.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\]\$ '

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

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

VS Code

 拡張機能を以下コマンドで一括でセットアップします。

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

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

「Visual Studio Codeの教科書」を読んでVS Codeの設定をゼロから見直してみた

Vim

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

$ sudo apt install -y vim

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

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

ターミナル「Hyper」

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

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

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

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

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

仮想ターミナル「byobu」

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

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

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

Python関係のセットアップ

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

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

まとめ

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

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

関連ページ

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

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

変更履歴

  • 2020/09/04 自動更新の停止に関して追記
karaage0703
闇のエンジニア/変なデジカメ開発中/ディープラーニング芸人/Raspberry Piとからあげ大好き/はてなブログ書いてます
https://karaage.hatenadiary.jp
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
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  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
ユーザーは見つかりませんでした