Ubuntu
thinkpad
Linux_Mint
pyenv
goenv

Linux Mintインストールした時にまずしたこと

P&Dアドベントカレンダー23日目担当ぽこつんです。

本当は前回からの続きのkotlinでopenCVについて書くつもりだったんですが、このたび自身の知識のなさ故に開発環境として使っていたZorin OSがご臨終なされたのでLinux Mintで入れ直しました。Linux入れるたびに同じようなことを何回も調べているので備忘録かつ誰かのためになればと書いていきます。Zorin気に入ってたんですがやっぱ動作が少し重かったです。やっぱLinux人気ナンバーワンのMintだね!

環境

  • Thinkpad25
    • Windows10
    • Linux Mint 18.3 "Sylvia" - Cinnamon (64-bit)

デュアルブートしてますが、今回の記事の内容に影響はないはず、、、。

1. vimを入れる

まずエディタ入れないと話にならないので入れる

$ sudo apt-get install vim

2. trackpointの動作を速くする

thinkpad使っているので次はトラックポイントの動きを良くする。
bootするたびに読み込まれるように/etc/rc.localに書いていく。

/etc/rc.local
echo -n 255 > /sys/devices/platform/i8042/serio1/serio2/speed
echo -n 190 > /sys/devices/platform/i8042/serio1/serio2/sensitivity
exit 0

そのあと、

$ sudo /etc/rc.local

これでOK

追記
/etc/rc.localに書いていくのはもう古いらしいです。/etc/init.d/以下に書いてサービスで管理しましょう。

今回の場合は/etc/init.d/track-pointというファイルの中に

/etc/init.d/track-point
#! /bin/bash

start() {
   echo -n 255 > /sys/devices/platform/i8042/serio1/serio2/speed
   echo -n 255 > /sys/devices/platform/i8042/serio1/serio2/sensitivity
}

stop() {
    echo "call when this service stopped"
}

case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    restart)
        stop
        start
        ;;
    status)
        # code to check status of app comes here
        ;;
    *)
        echo "Usage: $0 {start|stop|status|restart}"
esac

exit 0

と書いていく。
そのあと以下のコマンドを叩く

$ sudo chmod +x /etc/init.d/track-point
$ sudo /etc/init.d/track-point start

これでOK

3. Caps-LockとCtrlを置き換え

Caps-LockとCtrlを置き換える
/etc/default/keyboardにXKBOPTIONS="ctrl:nocaps"を書けばよし。

/etc/default/keyboard
# KEYBOARD CONFIGURATION FILE

# Consult the keyboard(5) manual page.

XKBMODEL="pc105"
XKBLAYOUT="jp"
XKBVARIANT=""
XKBOPTIONS=""
XKBOPTIONS="ctrl:nocaps"
BACKSPACE="guess"

再起動する必要あり。

4. 端末のプロファイル変更

文字色: #DBE1F8
背景色: #333E2D
組み込みのスキーム: Tango に設定
(* 個人の好みです)

5.ディレクトリを英語にする

インストール時に日本語を選択するとHOMEディレクトリ以下のディレクトリが日本語表記になってしまうので英語表記に変える。

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

これでupdate nameを選択

5. gitをインストール

sudo apt-get install git

6. chromeをインストール

こちらのサイトからインストール

7. git cloneして.dotfilesを取ってくる

.vimrcや.bashrcなんかを取ってきてリンクを貼っていきましょう。

ln -s 元ファイル 貼りたい場所

8. Rictyフォントを作成

全角をちゃんと見えるようにしたいです。Rictyフォントを作成する。
こちらのサイトを参考にさせてもらいました。
Ubuntu 16.04 LTSでRictyフォント作成 » sa-sa-ki.jpのblog
もしフォントを~/.fontsに入れてもうまくいかなかったら/usr/share/fonts/Ricty以下に作ったフォントをおいて

fc-cache -vf

と叩いてください。

9. f.luxを入れる。

ブルーライトに弱い目なのでf.luxを入れます。

$ sudo add-apt-repository ppa:nathan-renniewaldock/flux
$ sudo apt-get update
$ sudo apt-get install fluxgui

これでよし。

10. thinkpadのスクロールボタンで左クリックできてしまうのを止める

xinput listと叩いてください。
んで、↳ TPPS/2 IBM TrackPoint id=15 [slave pointer (2)] こんなふうに表示されているデバイスのIDを覚えといてください。僕の場合は15です。あとは/etc/profile.d/xinput.shというファイルを作成して,そこに以下のように書いてください。

/etc/profile.d/xinput.sh
xinput set-button-map 15 1 0 3

これで再起動するかsource /etc/profile.d/xinput.sh と叩けばOK。

11. タッチパネルがついていたので無効化する

10 と同様にxinput listと叩きタッチパネルに割り振られているIDを覚えとく。
僕の場合は、↳ Raydium Corporation Raydium Touch System id=10 [slave pointer (2)]
と表示されたので10です。

以下を追記。

/etc/profile.d/touch_panel.sh
xinput disable 10

これでタッチパネルが無効化できる

12. Android Studioなどを入れた時にホーム画面で表示されない

Android StudioやIDEA, PycharmなどIntellijのIDEに多いのですがtarファイルなどを展開してインストールするタイプのアプリケーションではubuntuのデスクトップアプリケーションとして認識されずタスクバーに表示できません。。実行したい時にわざわざshellを実行しなくてはいけません。aliasするというのもひとつの手ですがタスクバー上に表示させてワンクリックで起動させたいです。

方法

~/.local/share/applications/以下に拡張子desktopのファイルを書くことでアプリケーションとして登録できます。

android studioの場合はこんな感じです。

~/.local/share/applications/android_studio.desktop
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Name=Android Studio
Icon=/home/pokotsun/.bin/android-studio/bin/studio.png
Path=/home/pokotsun/.bin/android-studio/bin
Exec=/home/pokotsun/.bin/android-studio/bin/studio.sh
Categories=Development;IDE;
Terminal=false
StartupNotify=true
StartupWMClass=jetbrains-android-studio

英語記事はありましたが日本語記事がなかったので以下簡単に各パラメータの説明を和訳したいと思います。僕の英語力では大雑把にしか内容を掴めておらず、また途中で疲れたので最低限必要そうなところしか書いてませんがあしからず。

オプション名 値の型 必ず必要か 簡単な説明
Type string yes Application, Link, Directoryの3種類があります。今回はアプリケーションとして登録したかったのでApplicationにしてます。
Version string no デスクトップエントリーのバージョンを示します。現在は特に必要ないみたいです。
Name localestring yes アプリケーションの名前です。
GenericName localestring no アプリケーションの一般的な名前です
NoDisplay boolean no アプリケーションは存在するけどメニューとして表示するかしないかを決めます。
Comment localestring no 簡単なコメントをここにかけます。
Icon localestring no 絶対パスを指定することでアプリケーションのアイコンをここで表示できます。
Exec string no アイコンが押された時に実行するスクリプトを絶対パスで指定します。
Path string no TypeでApplicationを選んだ場合プログラムが実際に実行されるスクリプトが含まれたディレクトリの絶対パスを指定します。それ以外の場合は必要ないです。
Terminal boolean no ターミナルで実行するかどうかを決めます。
Categories string no メニュー上でカテゴライズするためのカテゴリーを指定できます。複数指定することができます。ex) Development;IDE;

13. pyenv virtualenvでpython使えるようにする

pyenvとvirtualenvで入れる。
mkdirで作成されるディレクトリの権限がおかしくエラーが出たのでまずmkdir, touchで作成されるディレクトリ、ファイルのデフォルトの権限を変える。

echo 'umask 0002' >> ~/.bashrc
source ~/.bashrc

pyenvとvirtualenvを入れていく

$git clone https://github.com/pyenv/pyenv.git ~/.pyenv
$sudo mkdir -p ~/.pyenv/versions ~/.pyenv/shims
$git clone https://github.com/pyenv/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
$echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
$echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
$echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\n 
 eval "$(pyenv virtualenv-init -)"\nfi' >> ~/.bashrc
$exec "$SHELL"

これでよし

$ pyenv --version
pyenv 1.2.0-4-g69d47d5

$ pyenv virtualenv --version
pyenv-virtualenv 1.1.1 (virtualenv unknown)

こんな感じに表示されたらOK

14. goenvでgo環境を作る

go言語を使えるようにする

$ git clone https://github.com/syndbg/goenv.git ~/.goenv
$ echo 'export GOENV_ROOT="$HOME/.goenv"\nexport GOPATH="$HOME/.go"\nexport GOBIN="$GOPATH/bin"\nexport PATH="$GOBIN:$PATH"\nexport PATH="$GOENV_ROOT/bin:$PATH"\neval "$(goenv init -)"\n' >> ~/.bashrc
$ exec "$SHELL"

これでよし

$ goenv version
1.9.0 (set by /home/pokotsun/.goenv/version)

こんな感じに表示されたらOK

15. apache2を入れる

$ sudo apt-get update
$ sudo apt-get install apache2

これでOK

16. phpを入れる

$ sudo add-apt-repository ppa:ondrej/php
$ sudo apt-get update
$ sudo apt-get install php

以上のコマンドを叩いたら、

/var/www/html/phpinfo.php
<?php
phpinfo();

このあと以下のコマンドを叩いて

$ sudo systemctl restart apache2

これでhttp://localhost/phpinfo.phpをブラウザで確認して

て感じに表示されたらOK

17. dockerを入れる

こちらのサイトを参考にする。

最後に

急遽開発環境がリセットされるという非常事態に陥ったのでこちらを書かせてもらいました。

明日、明後日のクリスマスイブ、クリスマスは@meta713, @seaaaaaaaaaの二人です。いよいよ大詰めですが頑張ってください!

参考

Ubuntu 16.04 CapsLockをControlに置換する方法
How to Install f.lux in Ubuntu 16.04, Ubuntu 15.10
Ubuntuでホームディレクトリの中身を英語にする
Desktop Entry Specification
Simple Python Version Management: pyenv
pyenv-virtualenv
pyenv-virtualenvでディレクトリ単位のpython環境構築
[Docker] ubuntu 14.04/16.04にDockerをインストール