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
46
Glanceで個人向けポータルサイト
matoken
0
95
Google検索をJavaScriptなしで
matoken
0
74
fuse-archiveでいろんなアーカイブをマウント
matoken
0
140
最近試したLinuxのOCRツール(NDL古典籍OCR-Lite/YomiToku)
matoken
0
250
Other Decks in Technology
See All in Technology
fukabori.fm 出張版: 売上高617億円と高稼働率を陰で支えた社内ツール開発のあれこれ話 / 20250704 Yoshimasa Iwase & Tomoo Morikawa
shift_evolve
PRO
2
5.1k
Backlog ユーザー棚卸しRTA、多分これが一番早いと思います
__allllllllez__
1
120
WordPressから ヘッドレスCMSへ! Storyblokへの移行プロセス
nyata
0
380
品質と速度の両立:生成AI時代の品質保証アプローチ
odasho
1
120
Tokyo_reInforce_2025_recap_iam_access_analyzer
hiashisan
0
170
無意味な開発生産性の議論から抜け出すための予兆検知とお金とAI
i35_267
2
9.1k
Witchcraft for Memory
pocke
1
720
OpenHands🤲にContributeしてみた
kotauchisunsun
1
510
Model Mondays S2E03: SLMs & Reasoning
nitya
0
320
LangSmith×Webhook連携で実現するプロンプトドリブンCI/CD
sergicalsix
1
180
GitHub Copilot の概要
tomokusaba
1
150
なぜ私はいま、ここにいるのか? #もがく中堅デザイナー #プロダクトデザイナー
bengo4com
0
1.3k
Featured
See All Featured
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.6k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
107
19k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Being A Developer After 40
akosma
90
590k
The Pragmatic Product Professional
lauravandoore
35
6.7k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.9k
Git: the NoSQL Database
bkeepers
PRO
430
65k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
The World Runs on Bad Software
bkeepers
PRO
69
11k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
20
1.3k
Testing 201, or: Great Expectations
jmmastey
42
7.6k
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個のウィンドウまでにしてタ グを行き来するようにすると良さそう • 軽いけれどそのままでは使い勝手が悪いので 用途によりネットワークマネージャ等の設定 をしておくのがおすすめ • 慣れると便利そう(未だ数日目で手が覚えて
ない><)