batchのブログ

知見の備忘録

Ubuntu18.04を入れて最初にやることまとめ

はじめに

最近ライフスタイル系のことばかり書いてましたが,一応エンジニア志望なのでそれっぽいことも記事にしとこうと思います.

先日,なんか重量軽いPC欲しいなあって思っていてなんでもいいから1kg切るPCにLinux

入れて使いたいなあと思っているときに,うちの研究室のボス(担当教員)から教員室に眠っていたVAIO Pro 13を貸して頂きました.

この子,2013年に発売されて少し年季が入っているものの,重量なんと870g!!

この子にUbuntu18.04をWindowsを潰して入れることにし,その過程をまとめたいと思います.

BIOSの起動でつまづいた

VAIOBIOS画面にいくまでは,電源を一回落とし,電源入れ直すときにF3または,F4キーを押しながらするそうですが,どちらもBIOS起動できませんでした.

結論から言うと,VAIO Pro 13のキーボードのFキーが並んでいる上に搭載されている魔法のASSISTボタン.こいつを電源切った状態で押すと勝手に電源が入り,一気にBIOSを起動させることができました.

そこからBIOSの設定をちょっと間違えてなんのOSも起動しないただの870gになりかけましたが,無事Ubuntu18.04入れることができました.

Ubuntu18.04をいれたあとやったことまとめ

魔法のコマンド

$ sudo apt update
$ sudo apt upgrade

まずはzshいれる

$ sudo apt-get update
$ sudo apt-get -y install zsh
$ chsh -s $(which zsh)

起動シェル確認
$ echo $SHELL /usr/bin/zsh とかって表示されればOK

おわり

git入れる

$ sudo apt install git  
 


制作・著作
━━━━━
ⓃⒽⓀ

githubから毎回パスワード聞かれずにリポジトリいじれるようにする

まずcloneしてくるときはhttpsではなくssh接続でするのでGitHubのClone or downloadからClone with SSHを選んでcloneする.
SSH keysを作れと言われるので作る
基本的にはこれ(https://qiita.com/shizuma/items/2b2f873a0034839e47ce
まず移動する
$ cd ~/.ssh
次のコマンドで鍵作る
$ ssh-keygen -t rsa
次にGitHubに作ったキーの中身をアップロードするためにクリップボードにコピーする必要がある.その準備を以下のコマンドでする.(https://qiita.com/Kzno/items/6f2fa98256bdffb0fd43)
$ sudo apt-get install xsel
エイリアスを設定してMacと同じように使えるようにする
.zshrcに追記
alias pbcopy='xsel --clipboard --input'
追記したら, $ source .zshrc で変更を反映しておく.
これで準備ができたので下記のコマンドでクリップボードに鍵の中身をコピー.
$ cat ~/.ssh/id_rsa.pub | pbcopy
これでクリップボードにコピーできたのでGitHubに戻って中身を貼り付ける.
適当に名前をつけて保存したら鍵の設定は終わりで
git configの設定
$ git config --global user.email "自分のメールアドレス"
$ git config --global user.name "自分のユーザ名"
下のコマンドでcloneする
$ git clone git@github.com:自分のユーザ名/cloneしたいリポジトリ名.git
これでpushもpullもcommitもパスワード聞かれずにできるようになった

curl入れる

$ sudo apt install curl

Prenzto入れる

$ git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto"

$ setopt EXTENDED_GLOB
for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do
  ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"
done

ここまででhyper再起動するとprenztoが反映されている

prenztoテーマ見てみる

$ prompt -p

ここからすきなテーマ選んで,
$ prompt テーマ名
で設定できる
 
おわり

powerline fonts入れる

これはなんとなくやった

$ git clone https://github.com/powerline/fonts.git --depth=1

インストール
$ cd fonts
$ ./install.sh

必要ないのでcloneファイル削除
$ cd ..
$ rm -rf fonts

 
 

おわり  
 

hyper入れる

公式サイトからまずアプリダウンロードしてくる

.hyper.jsの設定

152行目のplugins:に'hyper-material-theme'を追記

colorsの下に下記の設定を追記

MaterialTheme: {
        // Set the theme variant,
        // OPTIONS: 'Darker', 'Palenight', ''
        theme: 'Palenight',

        // [Optional] Set the rgba() app background opacity, useful when enableVibrance is true
        // OPTIONS: From 0.1 to 1
        backgroundOpacity: '1.0',

        // [Optional] Set the accent color for the current active tab
        accentColor: '#64FFDA',

        // [Optional] Mac Only. Need restart. Enable the vibrance and blurred background
        // OPTIONS: 'dark', 'ultra-dark', 'bright'
        // NOTE: The backgroundOpacity should be between 0.1 and 0.9 to see the effect.
        vibrancy: 'dark'
 },

hyper plugins

officialにある4つくらいのpluginsはまずいれる 下記の設定はすべて~/.hyper.jspluginsに書く

カレントディレクトリ名と,Gitローカルリポジトリの現在のブランチ名が表示されるpluhins
hyper i hyper-statusline

背景透過
hyper i hyper-opacity
 

テーマ設定

これは.zpreztorcに書く.
116行目あたりのところの
zstyle ':prezto:module:prompt' theme '設定したいテーマ名'
今回は,pureを設定したのでこんな感じになる↓
zstyle ':prezto:module:prompt' theme 'pure'

.zshrcの設定項目

日本語対応
export LANG=ja_JP.UTF-8

lsコマンドの結果色変更 export LSCOLORS=gxfxcxdxbxegedabagacad

補完機能を有効にする

autoload -Uz compinit
compinit

補完で小文字でも大文字にマッチさせる
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}'

同じコマンドをヒストリに残さない
setopt hist_ignore_all_dups

エイリアス

alias la='ls -a'
alias ll='ls -l'

autosuggestions

$ git clone https://github.com/zsh-users/zsh-autosuggestions ~/.zsh/zsh-autosuggestions
$ source ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh

cdしたあとにlsを実行する

cdls ()
{
    \cd "$@" && ls
}
alias cd="cdls"

最後は $ source ~/.zshrc

Mozcプロパティ

句読点の変更

私は,コンマとピリオドにしたいので変更.デスクトップ右上の入力メソッドのところをクリックしてツール>プロパティをクリックしていき,句読点のとこをコンマとピリオドに変更.

スペースの入力

Markdownとかで改行するときとかいちいち日本語入力のときに全角スペースから半角スペースに変えるのめんどくさかったり,基本的に全角スペースって使う場面私の場合なかったのでさっき開いたMozcプロパティのスペースの入力を半角に変更.

デスクトップの見た目をいい感じにする

おもにTweaksを使って設定していく.
まずは,下記のコマンドを打つ.

$ sudo apt update
$ sudo apt upgarade
$ sudo apt-get install gnome-tweaks

デスクトップ

今回はデスクトップをMateriaというテーマにしていく.
下記のコマンドを打つ.

$ sudo add-apt-repository ppa:dyatlov-igor/materia-theme
$ sudo apt update
$ sudo apt install materia-gtk-theme

そうしたら,Tweaksを開いて外観>アプリケーションから今回は,Materia-dark を選択した.

アイコン

今回はアイコンをPaperというテーマのものにしていく.
ここに書いてあるように,下記のコマンドを打つ.

$ sudo add-apt-repository -u ppa:snwh/ppa
$ sudo apt update
$ sudo apt install paper-icon-theme

そうしたら,Tweaksを開いて,外観>アイコンからPaperを選択するとアイコンが変わる.

Gnome Shellの変更

これれで,タスクバーや通知メニューのテーマも変える.
Gnome Shellの拡張機能を使うため,下記のコマンドをを打つ. $ sudo apt install gnome-shell-extensions
実行したあと,Ubuntuを再起動させる.
そうしたら,Tweaksの拡張機能>User themesのチェックを入れる.
Tweaksを開き直して,外観>GNOME Shellが選択できるようになっているのでMateria-darkを選択する.

番外編

Slack入れる

ここからいれる

Android Studio環境構築

Jetbrains Toolboxを入れる.
そのToolboxからAndroid Studio入れればとても楽.
メモリに余裕のあるPCを使ってたら,Android Studioの設定からメモリの設定のところでメモリ設定Maxにする.あとはお好みでIDEのThemeにMaterial Theme適用するようにplugin入れる.

Python環境構築

LinuxにはPython環境がもとから入っているが,バージョンがちょっと古かったりするのでアップデートしてあげる.
今回はあとで管理が楽なようにpyenvを使った.
pyenvインストール
$ curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | zsh
こっちのほうがいいかも↓
$ sudo git clone git://github.com/yyuu/pyenv.git ./pyenv
インストールしたら以下の内容を.zshrcに追記

export PATH="/home/<user>/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

忘れず, $ source .zshrc
pyenv導入後,今回は $ pyenv install 3.7.6 した.
$ pyenv install 3.7.6 するとき,zipimport.ZipImportError: can't decompress data; zlib not available とかって怒られることがあるので
$ sudo apt-get install zlib1g-dev をやる.これやった上でもう一度 $pyenv install 3.7.6 やってみると入る.
インストールしたあとは, $ pyenv global 3.7.6 でバージョン適用
ちなみに,2020年2月時点で3.8.0をインストールして実行すると No module named '=ctypes' というエラーが起きる.どうやら,$ sudo apt install libffi-dev で解決できるらしいが自分はそれでもエラーが消えなかったので,今回は3.7.6を入れた.
次にpipのインストール.

$ sudo apt install python-pip
$ sudo apt install python-pip python3-pip

pyenvを使ってpython入れるとpipも勝手に入れてくれる.

LaTeX環境構築

基本的にこの記事を参考にした.
aptの準備

$ sudo apt update
$ sudo apt upgrade

LaTeXのインストール

$ sudo apt install texlive-lang-cjk xdvik-ja evince
$ sudo apt install texlive-fonts-recommended texlive-fonts-extra

VS Codeコンパイルできるようにする.
VS Code拡張機能であるLaTeX Workshopをインストールする.
VS Codeのsetting.jsonに書きを追記
テーマをいい感じにするやつとかも入ってる.

{
    "workbench.colorTheme": "Solarized Dark",
    "editor.wordWrap": "on",
    "workbench.iconTheme": "vscode-icons",
    "editor.fontSize": 13,
    "vsicons.dontShowNewVersionMessage": true,
    "gitlens.advanced.messages": {
        "suppressLineUncommittedWarning": true
    },
    // tex setting
    // 引用:https://gist.github.com/khys/ee50f6891ed1825479ed38ba79fbc896
    "latex-workshop.view.pdf.viewer": "tab",
    "latex-workshop.latex.tools": [
        {
            "command": "ptex2pdf",
            "args": [
                "-l",
                "-i",
                "-ot",
                "-kanji=utf8 -synctex=1 -interaction=nonstopmode -halt-on-error -file-line-error",
                "%DOC%"
            ],
            "name": "Step 1: ptex2pdf"
        },
        {
            "command": "pbibtex",
            "args": [
                "%DOCFILE%",
                "-kanji=utf8"
            ],
            "name": "Step 2: pbibtex"
        },
        {
            "command": "ptex2pdf",
            "args": [
                "-l",
                "-i",
                "-ot",
                "-kanji=utf8 -synctex=1 -interaction=nonstopmode -halt-on-error -file-line-error",
                "%DOC%"
            ],
            "name": "Step 3: ptex2pdf"
        },
        {
            "command": "ptex2pdf",
            "args": [
                "-l",
                "-i",
                "-ot",
                "-kanji=utf8 -synctex=1 -interaction=nonstopmode -halt-on-error -file-line-error",
                "%DOC%"
            ],
            "name": "Step 4: ptex2pdf"
        }
    ],
    "latex-workshop.latex.recipes": [
        {
            "name": "toolchain",
            "tools": [
                "Step 1: ptex2pdf",
                "Step 2: pbibtex",
                "Step 3: ptex2pdf",
                "Step 4: ptex2pdf"
            ]
        }
    ],
}

これでOK.