Ubuntuを始めてからの諸々[初心者]

# はじめに
最近，Ubuntuを使い始めました．
Linux歴２ヶ月とすこし(2018/9/3~)の未熟者です．自分の備忘録を兼ねて少しづつ情報を充実させていけたらなというつもりですので，よろしくお願いいたします．

書いてみて思ったのですが，自分の総まとめみたいになってしまった(笑)
## 何故Ubuntuを使い始めたのか？
PCL（Point Cloud Library）を用いて色々やっているのですが，はじめはVisualC++でやっていたのですが，何かと不便であったので，Ubuntuを使い始めました．

それでは，本題を始めていきます．

# 最初にしたこと
JetsonTX2で入門したのだが，JetpackはLinuxでないと使用できないようで，Ubuntu入りPCを借りてインストールした．

わけもわからない中で最初にしたのはUbuntuコマンドを少しづつ調べていった．また，APTについて調べたりしていた．

## APTとは
Advanced Package Toolの略で，Debian用のために開発されたパッケージ管理システムである．インストール・アンインストール・アンインストールなどできる．

    $ apt-get [スイッチ] [オプション] [パッケージ]
でできるが，最近では

    $ apt [スイッチ] [オプション] [パッケージ]
が[公式で推奨されている](https://help.ubuntu.com/lts/serverguide/apt.html.en)ということである．

新しいUbuntuをインストールした時は取り敢えず以下をすると良いだろう．

    $ sudo apt update   //aptをアップデート
    $ sudo apt upgrade  //aptからパッケージをアップグレード
<font color="Red">とても時間がかかるので，このときは休憩タイムです(笑)</font>

コンパイルエラーや実行時エラーなどで必要なパッケージが出てきた場合はググる前に以下をする．

    $ apt search [パッケージ名]
必要なパッケージがたくさんある場合は順にインストールしてもよいのだが，以下のようにワイルドカード(万能文字？)を用いると便利である．
例としてPCL関連をすべてインストールしたい場合は以下のようにすると無駄なものも含めてしまうがすべてインストールできる．

    $ sudo apt install *pcl*

## sudoとは
いろんな呼び方があるようだが，個人的には`スドー`と読んでいる．
これは，管理者権限でコマンドを実行することができる．1エラーで`are you root?`とか`permission delied`とか言われたら取り敢えずつけておくとよい．パッケージをインストールする時は必要である．

## firefoxのインストール
JetsonではJenpackで初期セットアップ(?)ができるのだが，ウェブブラウザがchromiumだった・・・
取り敢えずfirefoxをインストールした．aptになかったため，以下でインストールした．

    $ sudo add-apt-repository ppa:ubuntu-mozilla-security/ppa
    $ sudo apt update
    $ sudo apt install firefox

## zipファイルの圧縮・解凍
    $ zip -r [zipファイル名] [対象ディレクトリ]
    $ unzip [zipファイル名]

## vimium-FFの発見
vimium-FFとは，ウェブブラウザをvimライクに使用できるようにするアドオンである．慣れるととても使いやすいので是非使ってみてほしい．[こちらの記事](https://qiita.com/ysuzuki19/items/c774796468a7ae25b28b)で紹介しておいた．

# Ubuntuが楽しくなり，いろんな機械にインストールし始めた
最初にインストールしたのはhewlett-packardで，人生初のデュアルブートである．ヒヤヒヤしながらBIOSを開いてUbuntuをインストールした．概要を紹介しておこうと思う．詳細は他の方の記事を参考にしたほうが良いだろう．

<font color="red">長年使用している大切なPCで試す際は絶対にリカバリディスクを作成してからインストールする，というに注意してください！！</font>

1.ubuntuのisoイメージを持ってくる([英語版](https://www.ubuntu.com/download/desktop)・[日本語版](https://www.ubuntulinux.jp/News/ubuntu1804-ja-remix) )

2.インストールメディアをUSBメモリなどに作成
ここが最初意味わからなかったので軽く方法を述べておく．
先程ダウンロードしてきたisoイメージをインストールメディアにするのだが，そのためには専用のアプリケーションが必要である．Ubuntuをすでに使用していればアプリケーション検索で「USB」と入力してでてくる`Startup disk ...`で良いのだが，「そもそもUbuntuを入れるための行為なのにUbuntuを使用してないでしょ！！」と思う方もいるだろう．そういう方はWindowsで使用できる[UUI(Universal USB Installer)](https://www.pendrivelinux.com/universal-usb-installer-easy-as-1-2-3/)を使用すれば簡単に作成できる．

3.パーティションを確保する
パーティションとは，ディスク上を仮想的に分割している領域のことである．詳細は他の方が紹介しているものがたくさんあると思うので，こちらも軽い紹介のみとさせてもらう．
まずは「ディスクの管理」という画面をなんとか見つけ出し，その後は容量が余っているパーティションを右クリックして「ボリュームの縮小」をする．

4.インストールメディアを作成したUSBメモリを指してBIOS画面へ突入
BIOS画面に入る際には，PC起動時に`Esc`,`F1`,`F2`,`F10`,`F12`などを押すことで入ることができる．PCによって方法は違うのでその都度調べるとよい．

<font color="Red">やった中で狂気を感じたのは「`Esc`連打」でしょうかね・・・（笑）</font>

5.`secure boot`オフ

6.`USB起動`

7.`ubuntuのインストール`
このとき，間違えて元々あるOSを消去してしまわないよう注意してください．どうかご健闘を・・・

# とにかく片っ端から入れまくった
狂ったようにインストールしまくったので，Ubuntu愛が深まりました．
超個人的なubuntu16.04LTSとubuntu18.04LTSのそれぞれ特徴を載せておきます．

|ubuntu16.04LTS|ubuntu18.04LTS|
|---|---|
|ネットに情報が豊富|winキーでウィンドウを移動できて便利|
|さっぱりしてる|PCL1.8のインストールが楽|

# CUIに慣れてきた
いろんな動作をコマンドでできるので，Windowsを使用していたときと比べると`PCに使わされている`より`PCを使っている`と思えるようになってきた．これはUbuntuを使い始めたことによる一番大きな利点だったかもしれない．
特に，アプリケーションのインストールなどWindowsではあまり厳密なところを意識できていなかったが，Ubuntuではbinファイルの置き場所を気軽に覗きに行けたりすることで少しづつイメージができるようになった．

## vimを使い始めた
Windowsを使用していた時は遠隔サーバにあるファイルの操作はsftpでファイルを持ってきて編集していたが，CUIを使い始めてvimを使い始めたのでssh上でファイル編集ができるようになった．また，CUIに慣れてきたことで以前よりも自由に行動ができるようになった．

→自分で作成したvimの記事は[こちら](https://qiita.com/ysuzuki19/items/17988627d85adb87a322)

## tmuxを使い始めた
CUIに徐々に慣れ始めた頃にtmuxを使い始めたため，そのインパクトは凄まじく，目からウロコであった．

→自分で作成したtmuxの記事は[こちら](https://qiita.com/ysuzuki19/items/58cd8ac6a79849308fef)

# 環境構築楽しくて幸せ
tmuxを自分好みに変更したりvimを自分好みに変更したり・・・
とにかく楽しい！！Githubにあげているので初期セットアップではいつも`git clone`でもってきて使っている

シェルにはあまり詳しくないから取り敢えずfishを使っているのだが，そろそろbashやzshに切り替えていこうと思っている．

→自分で作成したfishシェルの記事は[こちら](https://qiita.com/ysuzuki19/items/d4950e0a7ccf37889624)

# 各種エラーなどの対策
エラーは日本語REMIXでは日本語で出る．しかし，ITの世界の標準語は英語であるため，日本語で検索しても対処法があまりなかったりする．そこで，英語に切り替えると便利である．自分は，日本語入力メソッドをインストールするのが若干面倒なので日本語REMIXをインストールして以下の方法で英語に切り替えている．

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

この時，

    Command 'xdg-user-dirs-gtk-update' not found, but can be installed with:
    sudo apt install xdg-user-dirs-gtk

と出てきたらおとなしく

    $ sudo apt insatll xdg-user-dirs-gtk
とするとよい．これを実行したら`/etc/default/locale`に以下を書き加える．これは`sudo`で管理者権限で実行する必要がある．

    LANG="en_US.UTF-8"
    LANGUAGE="en_US:en"

# capslockキーをctrlキーにするととても便利
キーボードを使用していて間違えて`capslock`を押してしまい，入力がなんだか変になってしまうという経験をしたことがある人は少なからずいるだろう．そもそも`capslock`はあまり使わないのに押しやすい位置についていて勿体無い．

ということで，capslockキーをctrlキーに変更してしまうとよい．`/etc/default/keyboard`に以下を追加するとできる．

    XKBOPTIONS="ctrl:nocaps"

有効にするには以下のコマンドを実行すると良い．

    $ sudo systemctl restart console-setup
    $ reboot

# 最後に
私自身まだまだ駆け出しのubuntu使いですので，「ここは違うでしょ」や「こうした方がいいよ」などありましたら教えてくださると助かります．

個人でもちょいちょい内容を更新していけたらなと思っていますので，気が向いたときにまた覗いてもらえたら嬉しいです．

また，全くubuntuを使ったことがない方は是非試しに使ってみてください．パーティションを区切ったりして直接インストールするのが不安でしたら
・USBだけで動作させる
・Windows上で起動できるWSL(Windows Subsystem for Linux)
というもので気軽に試すことができるので，そちらで挑戦するのも手かなと思います．そのような方で何かあれば私が答えられる範囲で答えていけたらなと思いますので，何かあればコメントに質問などしていただいて構いません:grin::v: