マウスを使わないでキーボードで快適に生活する方法(gnu...

40
マウスを使わないでキーボードで快適に生活す る方法 KenichiroMATOHARA(@matoken) 鹿児島らぐ 鹿児島Linux勉強会 -第09回-

Upload: kenichiro-matohara

Post on 16-Jul-2015

443 views

Category:

Technology


6 download

TRANSCRIPT

マウスを使わないでキーボードで快適に生活する方法

KenichiroMATOHARA(@matoken)鹿児島らぐ 鹿児島Linux勉強会 -第09回-

● "小江戸らぐ関係者のコミケ87出展 - はとちゃんの足跡 ~タイムマシンにお願い~" http://d.hatena.ne.jp/hatochan/20141230/1420313283

コミケ行ってきました

● コミケ詳細については● "知られざる“コミケ”の世界 - NHK"

http://www4.nhk.or.jp/P3397/● 明日1/24(土)午前8時45分再々放送!

同人誌売ってきました● コミックマーケット3日目ジャンルは同人ソフト(240)

● Unix系や電子工作などの島

"UNIXユーザーのためのコミケット87情報ページ" http://linux.softwaresearch.jp/comiket/comike_list.php?comiket_num=87

● RaspberryPiネタで54ページ(Markdownで書いてodtに落として表紙,目次,奥付などを付けてpdfに)● 半分ほどは河野総統の記事

● 81部刷って見本紙や献本などで-5部(前日夜にKinko'sで出力コピー代@6円で折&中とじ製本まで自動)

● 14:00過ぎ完売● 申込+印刷代を初めて賄える

売り切れ対策

● 増刷● 鹿児島でコピー本作るよりオンデマンドで出したほうが安いのでオンデマンド印刷で増刷● "格安小冊子作成・冊子印刷・制作 ・印刷・印刷通販【ちょこっと(ちょ古っ都)製本工房】" http://www.chokotto.jp/

● Alice Book で委託予定(今日送付)

http://alice-books.com/item/show/3584-1

● 電書も考慮中

次回のコミケ

● 夏コミ C88● 東京ビッグサイトで8/14(金)〜16(日)

"コミックマーケット88のご案内" http://www.comiket.co.jp/info-a/C88/C88info.html

● 同人ソフト(240)は3日目の16日(日)

"コミックマーケット88ジャンルコード一覧" http://www.comiket.co.jp/info-c/C88/C88genre.html

出しませんか?

● 本作って渡してもらえたら一緒に売ってきます.

● 今回も委託2冊一緒に売っていました.

問題?

● ネタが半年経つと陳腐化することが多い->毎回新刊のみ or 改訂版

● 一般的な漫画等だと多めに刷って次回移行期間として頒布したり総集編が出せる

マウスを使わないでキーボードで快適に生活する方法

(#wbkago 1月の集まりで聞かれたのでちょっとまとめてみました)

端末を快適に!

● ターミナルマルチプレクサを利用● ログを遡ったりマルチタブ,マルチウィンドウやコピー&ペースト,アタッチ,デタッチなどがキーボードのみでOK

● 代表的なツール● GNU Screen http://www.gnu.org/software/screen/

– 以前はこれが主流だった● tmux http://tmux.sourceforge.net/

– 新しく出てきた.これから始めるならこっち?

ヘルパーアプリ

● Byobu ● Ubuntu 9.04 で追加された.現在はいろいろなディストリビューションにも採用されている

● tmux/GNU Screen のラッパーコマンド● 当初はGNU Screen のみの対応だったが現在は

tmux にも対応.規定値はtmux● hardstatusなどを複雑怪奇な設定をせずともワンタッチで設定可能

tmuxを例に…と思っていましたが今日はいつも使っているGNU Screenで

Debian/Ubuntuでの導入● 導入

$ sudo apt-get install byobu● バックエンドの設定(規定値はtmux)

$ byobu-select-backend● 一時的に実行するだけであれば

$ byobu-screen$ byobu-tmux

● 起動$ byobu

● 設定● byobu 起動中に F9 若しくは

$ byobu-config

設定変更

Change escape sequence

● 操作するときのエスケープシーケンスが規定値では Ctrl+A 行頭移動でよく使うので変更する

● 結構当たるので利用するアプリケーションにより当たらないキーを選ぶ

● 2種類くらいエスケープキーを決めておいて多段の場合に使い分けると便利

● 参考URL"screen's Wiki - エスケープキーの選択"

http://wiki.fdiary.net/screen/?ChoosingEscapeKey

Toggle status notifications

● お好みで…● EC2 cost とか面白い

● VPSに導入してみたり● ちょっと面倒だけど自分で好きなステータスを作って追加することも出来る● "東京電力の電力状況をscreen のステータスに表示 - matoken’s meme -hatena-" http://d.hatena.ne.jp/matoken/20110624/1308929712

基本的な操作● Ctrl+A → c 新規端末● Ctrl+A → n 次の端末へ移動● Ctrl+A → p 前の端末へ移動● Ctrl+A → 数字(0-9) 該当端末へ移動● Ctrl+A → A 前に使っていた端末へ移動● Ctrl+A → | ウィンドウ縦分割● Ctrl+A → S ウィンドウ横分割● Ctrl+A → Tab 次のウィンドウへ移動● Ctrl+A → x ウィンドウの削除

基本的な操作2

● Ctrl+A → k 端末の破棄● Ctrl+A → esc スクロールバックモード

● h, l, j, k, Ctrl+u, Ctrl+b… カーソル移動(vimと一緒)● /, ? 検索● Space 選択始端● Enter 選択終端&コピー

● Ctrl+A → Ctrl+] 貼り付け● Ctrl+A → ? 簡易ヘルプ● Ctrl+A → x 画面ロック(解除はbyobu起動ユーザのパスワード)● Ctrl+A → d デタッチ● $ byobu -r アタッチ

設定ファイルをいじってみる● 設定ファイル ~/.screenrc● スクロールバッファの行数変更

defscrollback 10000● ワンタッチで端末のエンコードを切り替える設定例

bind ^U encoding utf8

bind ^E encoding euc● ログの自動保存(たまに助けられるけどいつの間にかDiskを圧迫してたりするので自動圧縮をcronで設定しておくといい)

logfile /home/matohara/screen.log/screenlog.%n-%H-%y%m%d-%c:%s-%t

log on

deflog on

実際は1行

● 以下の例では300秒でブランクになるidle 300

● ブランク時に実行するプログラムを設定fortuneとかnyancatとか :)

blankerprg program名● 画面下部に起動ウィンドウ名を出す(zshでの場合)

shelltitle "$ |zsh"

Vimで編集中

w3m(テキストブラウザ)でブラウジング

リモートのGNU Screen でアップデート

おまけ● "Mosh: the mobile shell" https://mosh.mit.edu/● ssh代替を目指している● モバイルシェルの名の通りモバイル環境などで付からを発揮する

● 遅いネットワーク環境での遅延をechobackで吸収● 異なるネットワーク間でのローミング

● NotePCでMosh経由でリモートサーバで作業中にそのままサスペンド,異なるネットワークでレジュームしても自動的にサーバに接続してくれる

● 今のところ認証にsshを利用したり機能も少ないが便利● #セキュリティには注意

● 端末作業時にとても便利なツール● 説明だけ見てもよくわからないと思うのでぜひ触ってみてください

● 指が操作を覚えると無くてはならないツールに!

● 端末のテキストでウィンドウ分割なども表現しているので高速でログを流したりとかすると面倒なことに分割状態で日本語を扱うと崩れることも.そういう場合は次のタイル型ウィンドウマネージャを試してみてください

ターミナル以外もキーボードで操作したい

タイル型ウィンドウマネージャ

● ウィンドウを被さらないように配置して狭い画面や広い画面を効率的に利用したりキーボードから手を離したりしないで操作が出来る

● 軽い

● “日本タイル型ウィンドウマネージャ推進委員会”http://jp.tilingwindowmanager.org/

タイル型ウィンドウマネージャの色々

● 色々ある● 今回は触ったことのある awesome を例に

(Kobo に入れたDebian は awesome )

導入

● 大抵パッケージがあるのでパッケージマネージャで

● Debian Jessie$ sudo apt install awesome

● 本来ならこれでDMからawesomeを選ぶだけ● …ウィンドウマネージャのリストに出てこない?● Bug><

– "#701514 - Awesome doesn't display on GDM - Debian Bug report logs" https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=701514

● Patchdiff --git a/awesome.desktop b/awesome.desktop

index 1f7878c..6f830b9 100644--- a/awesome.desktop

+++ b/awesome.desktop

@@ -2,7 +2,7 @@

Encoding=UTF-8 Name=awesome

Comment=Highly configurable framework window manager-NoDisplay=true

+NoDisplay=false

TryExec=awesome

Exec=awesome

Type=Application

● 該当ファイルの場所$ dpkg -L awesome | grep awesome.desktop

/usr/share/xsessions/awesome.desktop● 書き換えたらDM 再起動してawesomeを選択

● GDM3 の場合$ /usr/sbin/service gdm3 restart

設定ファイル

● 自分用の設定ファイル( ~/.config/awesome/rc.lua )を用意する

$ mkdir ~/.config/awesome/

$ cp /etc/xdg/awesome/rc.lua \ ~/.config/awesome/

設定のカスタム

~/.config/awesome/rc.lua を編集する● ターミナルを変更してみる

$ diff -u /etc/xdg/awesome/rc.lua ~/.config/awesome/rc.lua--- /etc/xdg/awesome/rc.lua 2012-07-16 20:57:34.000000000 +0900+++ /home/mk/.config/awesome/rc.lua 2015-01-23 04:41:27.995000197 +0900@@ -40,7 +40,7 @@ beautiful.init("/usr/share/awesome/themes/default/theme.lua") -- This is used later as the default terminal and editor to run.-terminal = "x-terminal-emulator"+terminal = "mate-terminal" editor = os.getenv("EDITOR") or "editor" editor_cmd = terminal .. " -e " .. editor

設定の確認

● 設定ファイルはLua Script● 一部でも間違えると間違えた部分の設定だけでなく全て反映されない(規定値が反映される)

● Syntax check をしてみたり$ luac -p ~/.config/awesome/rc.lua

● 別のDISPLAYで動作確認をしてみたり$ Xephyr :1 -ac -br -noreset -screen 800x600 &

$ DISPLAY=:1.0 awesome -c \ ~/.config/awesome/rc.lua.new

簡単な操作

● Mod4+Enter ターミナルの起動● Mod4+r プログラムの起動● Mod4+c フォーカスウィンドウの終了● Mod4+j/k フォーカスの切り替え● Mod4+shift+j/kフォーカスウィンドウの場所移動● Mod4+1-9 n番のタグへ移動● Mod4+h/l ウィンドウサイズを広げる● Mod4+shift+h/l ウィンドウサイズを狭める※Mod4はSuper(Windows)Key

ブラウザの操作もキーボードで

● Firefox● "vimperator labs" http://www.vimperator.org/

● Chromium● "Vimium - Chrome ウェブストア"

https://chrome.google.com/webstore/detail/vimium/dbepggeogbaibhgnhhndojpepiihcmeb/related?utm_source=chrome-ntp-icon

どちらもVimライクに操作が可能になる

ブラウザでストリーミング動画再生

GNU Screen と違いログなどをcatしても高速

ネットワークの設定のためにnm-applet起動

おまけ● Synergy http://synergy-project.org/

● 端末を行ったり来たりしなくても1つのキーボードマウスで複数端末を操作出来る

● クリップボードの共有も可能● マルチプラットホーム :)● 以前は設定ファイルを手で書いたりQuickSynergy を利用したりだったが現在はGUIの設定ツールがセットになって設定が便利に(暗号化も)

● 設定ファイルの規定値は ~/.config/Synergy/Synergy.conf だが synergys -c 設定ファイル で環境に合わせて指定が可能

少し試した感じ

● 1つのタグに2,3個のウィンドウまでにしてタグを行き来するようにすると良さそう

● 軽いけれどそのままでは使い勝手が悪いので用途によりネットワークマネージャ等の設定をしておくのがおすすめ

● 慣れると便利そう(未だ数日目で手が覚えてない><)