Linux環境整備備忘録

inst

Latitude E7270にDebianをインストールしたのでそのログ。
このPCにLinuxをインストールするのは二回目で、今回はLXQtを入れてみた。

インストール

いつもどおりにUSBスティックにインストールメディアを用意して、今回はDesktop環境なしでインストール。

初期設定

sudo

最初のログイン後、端末で

$ su
# apt install sudo vim
# gpasswd -a hogefuga sudo

してsudoできるようにしておく。

一度ログアウトしてから作業スタート。

インフラ系

なにはともあれaptのソースを編集。

$ sudo apt vim /etc/apt/sources.list

私は邪道なので%s/main/main non-free contrib/gしてしまいます。stretch-backportsも入れる。stable-backportsみたいな指定ができたら良かったのにね。

$ sudo apt install network-manager network-manager-gnome task-lxqt-desktop tlp-rdw xsensors 

このPCにはIntelWi-Fiが入っているのでドライバをインストール。上でmainだけにしたときはこの手は使えないので自由人のためのWi-Fiドングルを使うかおとなしく有線接続してください。あとmicrocodeも。

$ sudo apt insatll firmware-iwlwifi intel-microcode

squeuei.hatenablog.com

素のままだとトラックパッドのタップクリックが効かないし、LXQt上からは設定できないのでファイルを編集。

$ sudo mkdir /etc/X11/xorg.conf.d/
$ sudo vim /etc/X11/xorg.conf.d/30-touchpad.conf

30-touchpad.confの中身はこんな感じ。というかArchwikiのほぼまんまですねこれ。

Section "InputClass"
    Identifier "touchpad"
    Driver "libinput"
    MatchIsTouchpad "on"
    Option "Tapping" "on"
    Option "TappingButtonMap" "lrm"
    Option "NaturalScrolling" "true"
    Option "ClickMethod" "clickfinger"
EndSection

NTPとかssh鍵とかもやっておく。NTP鯖はNICTに。

$ sudo apt install ntp
$ sudo systemctl enable ntp
$ sudo systemctl restart ntp

$ ssh-keygen

日本語環境

fcitx-mozc派なのでそのようにやっていきます。

$ sudo apt install fcitx-mozc fcitx fonts-ipamj* fonts-vlgothic  fonts-ipaexfont.* fonts-ipafont-mincho fonts-ipafont-gothic fonts-ipafont fonts-takao.* fonts-mig.* -y

localeはen_US.UTF-8のままにしてる。

開発環境

$ sudo apt install vim-gtk git default-jre default-jdk cmake gauche python-pip python3-pip python3-venv build-essential linux-headers-amd64 curl neovim octave opam
$ sudo pip3 install neovim
$ sudo pip install neovim
$ curl https://raw.githubusercontent.com/Shougo/dein.vim/master/bin/installer.sh > ~/Downloads/installer.sh && sh ~/Downloads/installer.sh ~/.cache/dein
$ firefox https://code.visualstudio.com/docs/?dv=linux64_deb & 
$ firefox https://www.dropbox.com/ja/install & 
$ cd ~/Downloads && sudo apt install ./*.deb

Python

$ sudo pip3 install ipython[notebook] spyder matplotlib pandas numpy sympy scipy cython

OCaml

絶賛積んでいる“Real World OCaml”の環境を作っておく。

$ opam init
$ eval `opam config env`
$ opam switch 4.06.1
$ eval `opam config env`
$ opam install depext core utop async yojson core_extended core_bench cohttp async_graphics cryptokit menhir
$ echo 'eval `opam config env`' >> ~/.bashrc
$ . ~/.bashrc

Golang

memoというアプリで日記を書いているのでそれをビルドするための環境を作る。

$ sudo vim /etc/apt/sources.list
$ sudo apt install -t stretch-backports golang
$ echo 'export GOPATH=$HOME/.go' >> ~/.bashrc
$ echo 'export PATH=$PATH:$GOPATH/bin' >> ~/.bashrc
$ . ~/.bashrc

$ go get github.com/mattn/memo
$ memo c
$ sudo apt install peco

その他

パッケージ化されていないフォントは~/.local/share/fontsにコピーすると使える。

Debian stableだとbackportsを入れてもTeXLiveが2016なので公式のやり方でインストールするほうが無難そう。めちゃくちゃ時間かかるけど。

Lightdmを使う場合で、ユーザー名のリストを出したい場合はこれ。

sudo vim /usr/share/lightdm/lightdm.conf.d/01_myconf

[Seat:*%*]
greeter-hide-users=false

雑感

最近思うのは、Linuxの環境はWindowsより快適なんじゃないかってこと。

ふつうのひとはブラウザの上くらいしかいないはずで、だからこそChromebookなんてものが市場として成り立っている。
テキストエディタならクロスプラットフォームのものがいくらでもある。vimもcodeも大丈夫。
MS Officeなりゲームなり専用アプリなり特殊ハードウェアなりを扱うにはやはりWindowsが強いけど、そうでなければ案外どうにかなってしまう。

Debianのいいところは、システムコンポーネントからユーザアプリケーションまでパッケージ管理が一元で行われていること。このおかげで、sudo apt update && sudo apt upgradeだけしてればそれなりに使える。それが正しいやり方かどうかはよくわかってないけど……

Fedoraもいいと思うけど、真剣に使ってないから安定性とかはよくわかってない。あとfcitx-mozcが使えないのも痛い。
ヌルい人間なのでGentooとかはぜんぜんわからない。USEに何を指定すればいいのかとかさっぱり。
ArchLinuxはLUKS環境を作ろうとして失敗しました。暗号化とか入れなければ(ArchWikiを参照しながらであれば)それなりに楽しい。
Linuxじゃないけど、BSD系にも興味はあれど全然触れたことがない。BeagleBone BlackにOpenBSDを入れてバイナリブロブのないプライバシー環境〜みたいなのも一度やってみたくはあるんだけど。