Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
マウスを使わないでキーボードで快適に生活する方法
Search
Kenichiro MATOHARA
January 23, 2015
Technology
0
13
マウスを使わないでキーボードで快適に生活する方法
鹿児島らぐ 鹿児島Linux勉強会 -第09回-
http://kagolug.connpass.com/event/11078/
Kenichiro MATOHARA
January 23, 2015
Tweet
Share
More Decks by Kenichiro MATOHARA
See All by Kenichiro MATOHARA
後で読む系サービスPocketの移行先にShioriを試す
matoken
0
15
GaleneのGo製ライブラリでtext chatを保存
matoken
0
8
MastodonとtootとTerminal graphics protocolのKittyとiTerm2
matoken
0
43
ChangeDetection.ioでウェブページを定期チェック
matoken
0
99
ターミナルエミュレータのKittyで文字サイズ変更
matoken
0
47
Glanceで個人向けポータルサイト
matoken
0
95
Google検索をJavaScriptなしで
matoken
0
75
fuse-archiveでいろんなアーカイブをマウント
matoken
0
140
最近試したLinuxのOCRツール(NDL古典籍OCR-Lite/YomiToku)
matoken
0
250
Other Decks in Technology
See All in Technology
「クラウドコスト絶対削減」を支える技術—FinOpsを超えた徹底的なクラウドコスト削減の実践論
delta_tech
4
130
Lazy application authentication with Tailscale
bluehatbrit
0
150
United airlines®️ USA Contact Numbers: Complete 2025 Support Guide
oliversmith12
0
150
KubeCon + CloudNativeCon Japan 2025 に行ってきた! & containerd の新機能紹介
honahuku
0
120
Tokyo_reInforce_2025_recap_iam_access_analyzer
hiashisan
0
170
PO初心者が考えた ”POらしさ”
nb_rady
0
190
American airlines ®️ USA Contact Numbers: Complete 2025 Support Guide
airhelpsupport
0
220
MUITにおける開発プロセスモダナイズの取り組みと開発生産性可視化の取り組みについて / Modernize the Development Process and Visualize Development Productivity at MUIT
muit
1
13k
使いたいMCPサーバーはWeb APIをラップして自分で作る #QiitaBash
bengo4com
0
1.5k
AIとともに進化するエンジニアリング / Engineering-Evolving-with-AI_final.pdf
lycorptech_jp
PRO
0
150
本が全く読めなかった過去の自分へ
genshun9
0
760
OPENLOGI Company Profile
hr01
0
67k
Featured
See All Featured
Making the Leap to Tech Lead
cromwellryan
134
9.4k
Faster Mobile Websites
deanohume
307
31k
KATA
mclloyd
30
14k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
810
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
138
34k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
960
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
The Language of Interfaces
destraynor
158
25k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
GitHub's CSS Performance
jonrohan
1031
460k
Being A Developer After 40
akosma
90
590k
Transcript
マウスを使わないでキーボードで快適に生活す る方法 KenichiroMATOHARA(@matoken) 鹿児島らぐ 鹿児島Linux勉強会 -第09回-
• https://twitter.com/okano_t/status/54993421 2636082177
• "小江戸らぐ関係者のコミケ87出展 - はと ちゃんの足跡 ~タイムマシンにお願い~" http://d.hatena.ne.jp/hatochan/20141230/142 0313283
コミケ行ってきました • コミケ詳細については • "知られざる“コミケ”の世界 - NHK" http://www4.nhk.or.jp/P3397/ • 明日1/24(土)午前8時45分再々放送!
None
同人誌売ってきました • コミックマーケット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過ぎ完売 • 申込+印刷代を初めて賄える
売り切れ対策 • 増刷 • 鹿児島でコピー本作るよりオンデマンドで出したほ うが安いのでオンデマンド印刷で増刷 • "格安小冊子作成・冊子印刷・制作 ・印刷・印刷通販 【ちょこっと(ちょ古っ都)製本工房】"
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.htm l
出しませんか?
• 本作って渡してもらえたら一緒に売ってきま す. • 今回も委託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/1308929 712
基本的な操作 • 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=7015 14
• 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
• 該当ファイルの場所 $ 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/vimi um/dbepggeogbaibhgnhhndojpepiihcmeb/related?ut m_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個のウィンドウまでにしてタ グを行き来するようにすると良さそう • 軽いけれどそのままでは使い勝手が悪いので 用途によりネットワークマネージャ等の設定 をしておくのがおすすめ • 慣れると便利そう(未だ数日目で手が覚えて
ない><)