Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

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

鹿児島らぐ 鹿児島Linux勉強会 -第09回-
http://kagolug.connpass.com/event/11078/

Kenichiro MATOHARA

January 23, 2015
Tweet

More Decks by Kenichiro MATOHARA

Other Decks in Technology

Transcript

  1. 同人誌売ってきました • コミックマーケット3日目ジャンルは同人ソフト(240) • Unix系や電子工作などの島 "UNIXユーザーのためのコミケット87情報ページ" http://linux.softwaresearch.jp/comiket/comike_list.php?comiket_nu m=87 • RaspberryPiネタで54ページ(Markdownで書いてodtに落と

    して表紙,目次,奥付などを付けてpdfに) • 半分ほどは河野総統の記事 • 81部刷って見本紙や献本などで-5部(前日夜にKinko'sで出力 コピー代@6円で折&中とじ製本まで自動) • 14:00過ぎ完売 • 申込+印刷代を初めて賄える
  2. 端末を快適に! • ターミナルマルチプレクサを利用 • ログを遡ったりマルチタブ,マルチウィンドウ やコピー&ペースト,アタッチ,デタッチなど がキーボードのみでOK • 代表的なツール •

    GNU Screen http://www.gnu.org/software/screen/ – 以前はこれが主流だった • tmux http://tmux.sourceforge.net/ – 新しく出てきた.これから始めるならこっち?
  3. ヘルパーアプリ • Byobu • Ubuntu 9.04 で追加された.現在はいろいろな ディストリビューションにも採用されている • tmux/GNU

    Screen のラッパーコマンド • 当初はGNU Screen のみの対応だったが現在は tmux にも対応.規定値はtmux • hardstatusなどを複雑怪奇な設定をせずともワン タッチで設定可能
  4. Debian/Ubuntuでの導入 • 導入 $ sudo apt-get install byobu • バックエンドの設定(規定値はtmux)

    $ byobu-select-backend • 一時的に実行するだけであれば $ byobu-screen $ byobu-tmux • 起動 $ byobu • 設定 • byobu 起動中に F9 若しくは $ byobu-config
  5. Change escape sequence • 操作するときのエスケープシーケンスが規定値では Ctrl+A 行頭移動でよく使うので変更する • 結構当たるので利用するアプリケーションにより当 たらないキーを選ぶ

    • 2種類くらいエスケープキーを決めておいて多段の場 合に使い分けると便利 • 参考URL "screen's Wiki - エスケープキーの選択" http://wiki.fdiary.net/screen/?ChoosingEscapeKey
  6. Toggle status notifications • お好みで… • EC2 cost とか面白い •

    VPSに導入してみたり • ちょっと面倒だけど自分で好きなステータス を作って追加することも出来る • "東京電力の電力状況をscreen のステータスに表 示 - matoken’s meme -hatena-" http://d.hatena.ne.jp/matoken/20110624/1308929 712
  7. 基本的な操作 • 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 ウィンドウの削除
  8. 基本的な操作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 アタッチ
  9. 設定ファイルをいじってみる • 設定ファイル ~/.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行
  10. おまけ • "Mosh: the mobile shell" https://mosh.mit.edu/ • ssh代替を目指している •

    モバイルシェルの名の通りモバイル環境などで付からを発揮 する • 遅いネットワーク環境での遅延をechobackで吸収 • 異なるネットワーク間でのローミング • NotePCでMosh経由でリモートサーバで作業中にそのままサスペン ド,異なるネットワークでレジュームしても自動的にサーバに接続 してくれる • 今のところ認証にsshを利用したり機能も少ないが便利 • #セキュリティには注意
  11. 導入 • 大抵パッケージがあるのでパッケージマネー ジャで • 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=7015 14
  12. • Patch diff --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
  13. • 該当ファイルの場所 $ dpkg -L awesome | grep awesome.desktop /usr/share/xsessions/awesome.desktop

    • 書き換えたらDM 再起動してawesomeを選択 • GDM3 の場合 $ /usr/sbin/service gdm3 restart
  14. 設定のカスタム ~/.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
  15. 設定の確認 • 設定ファイルは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
  16. 簡単な操作 • 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
  17. ブラウザの操作もキーボードで • Firefox • "vimperator labs" http://www.vimperator.org/ • Chromium •

    "Vimium - Chrome ウェブストア" https://chrome.google.com/webstore/detail/vimi um/dbepggeogbaibhgnhhndojpepiihcmeb/related?ut m_source=chrome-ntp-icon どちらもVimライクに操作が可能になる
  18. おまけ • Synergy http://synergy-project.org/ • 端末を行ったり来たりしなくても1つのキーボードマウス で複数端末を操作出来る • クリップボードの共有も可能 •

    マルチプラットホーム :) • 以前は設定ファイルを手で書いたりQuickSynergy を利用 したりだったが現在はGUIの設定ツールがセットになって 設定が便利に(暗号化も) • 設定ファイルの規定値は ~/.config/Synergy/Synergy.conf だが synergys -c 設定ファイル で環境に合わせて指定が 可能