script day.log

大学生がなんとなく始めた、趣味やら生活のことを記録していく。

Debian9 SetUp(zsh customize & powerline)

zsh customize

zshにzplugを使ってpreztoをインストールしました。
以下手順を示す。

curl -sL --proto-redir -all,https https://raw.githubusercontent.com/zplug/installer/master/installer.zsh| zsh
vi ~/.zshrc
source ~/.zplug/init.zsh
zplug "sorin-ionescu/prezto"
zplug load --verbose
zsh
zplug install
git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto"
ln -s $HOME/.zplug/repos/sorin-ionescu/prezto $HOME/.zprezto
setopt EXTENDED_GLOB
for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do
  ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"
done
powerline

Powerline — Powerline beta documentation
公式が一番正しい!

zsh

source .zshrc
powerline-daemon -q
. /usr/local/lib/python2.7/site-packages/powerline/bindings/zsh/powerline.zsh

vim

" Powerline
python from powerline.vim import setup as powerline_setup
python powerline_setup()
python del powerline_setup
set laststatus=2
set showtabline=2
set noshowmode

tmux

set-option -g default-terminal screen-256color
set -g terminal-overrides 'xterm:colors=256'
run-shell "powerline-daemon -q"
source "/usr/local/lib/python2.7/site-packages/powerline/bindings/tmux/powerline.conf"
pythonが有効になっていない on Vim

vimを起動しようとすると、pythonが有効になっていないと
警告されましたので、

vim --version
//- python & - python3となっていた
apt build-dep vim
apt install gettext libncurses5-dev libacl1-dev libgpm-dev
apt install libperl-dev python-dev python3-dev ruby-dev
git clone https://github.com/vim/vim.git
./configure --with-features=huge --enable-perlinterp --enable-pythoninterp --enable-python3interp --enable-rubyinterp --enable-fail-if-missing
sudo make
sudo make install
vim --version //有効になっているか確認

とりあえずこれで環境構築が終わりました。
疲れた。

Debian9 SetUp(Myrica install & for powerline)

https://myrica.estable.jp/ からダウンロードし、
インストールする。

powerline-fontpatcherを用意する。

git clone https://github.com/Lokaltog/powerline-fontpatcher

fontforgeをインストールする。

apt install fontforge

MyricaMフォントにパッチを当てる

//pathは適宜変更
fontforge -lang=py -script ./powerline-fontpatcher/scripts/powerline-fontpatcher ./Download/MyricaM.TTC 
//after make MyricaM Monospace for Powerline.otf

更にMyricaM Monospace for Powerline.otfを調整する。
GUIfontforgeを起動し、MyricaM Monospace for Powerline.otfを
開く。その後、View → GoTo でuniE0A0を入力してpowerlineのシンボルまで移動する。
Shiftキー押しながらシンボルを全て選択したら右クリック → Transform。
もしかしたら日本語になっているかもしれない。
MoveでYに93を指定し、OK。
File → Generate Fonts → Generateでフォントを出力する。
エラーが出るがGenerateでOK。
出力されたフォントをインストールする。

Debian9 SetUp(Emacs install)

久し振りの再構築で、必要なライブラリ関連で苦労しました。

wget http://public.p-knowledge.co.jp/gnu-mirror/emacs/emacs-25.3.tar.xz
unar emacs-25.3.tar.xz
cd emacs-25.3
apt install libgtk-3-dev libwebkitgtk-3.0-dev libxpm-dev libjpeg-dev libtiff-dev libgif-dev libncurses-dev
make
sudo make install
sudo reboot
emacs --version
GNU Emacs 25.3.1

後は.emacs.dを移すのみですね。

Emacsもインストール出来たので、
そろそろzshとtmux,vimのカスタマイズしましょうね。
powerlineで格好いい開発環境を!

Debian9 SetUp(dirctory update ~ shell install)

まずはディレクトリ名を変更する。

sudo apt install xdg-user-dirs-gtk
//LANG=Cでは現在のlocale設定になるため、localeには気をつける
LANG=C xdg-user-dirs-gtk-update

次には日本語環境を導入する。

apt install fcitx fcitx-mozc kde-config-fcitx
im-config -n fcitx

他にもインストールする。

systemctl stop apache2
systemctl disable apache2
apt install vim tmux yakuake zsh fish git gnuplot-qt scilab nginx octave curl python-pip python3-pip
systemctl enable nginx
chsh -s $(which zsh)

これでだいたい揃ってきましたね

Debian9 SetUp(OS install ~ Guest Additions install)

texliveをインストールしようとして、
容量が厳しくなってきて、せっかくなので、
再構築し直そうと思ったところです。

まずはOSのインストールですが、これはディスクから
graphical installすれば良いですね。
デスクトップはKDEにしました。

続いてsudoを使えるようにします。

su -
apt install sudo
gpasswd -a ユーザー名 sudo
reboot
cp -p /etc/sudoers /etc/sudoers.orig

//次のように編集するとパスワード不要
sudo visudo 
%sudo  ALL=(ALL:ALL) NOPASSWD:ALL

次にGuestAdditionsのインストールを行います。

//VirtualBoxのメニュー→デバイス→GuestAdditionsCDイメージの挿入
apt install build-essential linux-hearders-$(uname -r)
sh /media/cdrom0/VBoxLinuxAdditions.run
reboot

とりあえずこれで第1段階終了です。

SoftetherVPNのスタートアップスクリプトについて

公式では以下のように記述があります。

vpnserver をデーモンプロセスとして Linux に登録するには、
下記のような「スタートアップスクリプト」を /etc/init.d/vpnserver 
という名前で作成してください

また、紹介されているスクリプトが次のようになります。

#!/bin/sh
# chkconfig: 2345 99 01
# description: SoftEther VPN Server
DAEMON=/usr/local/vpnserver/vpnserver
LOCK=/var/lock/subsys/vpnserver
test -x $DAEMON || exit 0
case "$1" in
start)
$DAEMON start
touch $LOCK
;;
stop)
$DAEMON stop
rm $LOCK
;;
restart)
$DAEMON stop
sleep 3
$DAEMON start
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
exit 0

しかし、現在使用しているDebian9ではchkconfigは無く、
update-rc.dも非推奨ですので、insservを使用します。
書き換えたスクリプトが次になります。

#!/bin/sh
### BEGIN INIT INFO
# Provides:          vpnserver
# Required-Start:    $local_fs $network
# Required-Stop:     $local_fs $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: SoftEther VPN Server
# Description:       SoftEther VPN Server
### END INIT INFO

DAEMON=/usr/local/vpnserver/vpnserver
LOCK=/var/lock/vpnserver

test -x $DAEMON || exit 0

case "$1" in
  start)
        $DAEMON start
        touch $LOCK
        ;;
  stop)
        $DAEMON stop
        rm $LOCK
        ;;
  restart)
        $DAEMON stop
        sleep 3
        $DAEMON start
        ;;
  *)
        echo "Usage: $0 {start|stop|restart}"
        exit 1
esac

exit 0
EOT

そして、次のコマンドを実行します。

insserv vpnserver

これでスタートアップスクリプトに登録できました。

SoftetherVPN関連

makose3p1229.hatenablog.com

VSCodeインデントについて

いつもはEmacsを使っているのですが、
たまーにVSCodeを使う時があって、一括インデントしたいけど、
どうするんだろって思ったことがありました。
インデントをずらすのはあるわけですが、
適切なインデントをかけて欲しいわけですね。
そこで設定ファイルを見てみると、
formatOn~という文字がありまして、
初期設定ではfalseとなっていたのですが、
これをtrueとすると、保存時や貼付け時、入力時に整形することが出来ました。

これで満足。
でもやっぱり、Emacsの拡張性が素晴らしくて、最高です。