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
2
マウスを使わないでキーボードで快適に生活する方法
鹿児島らぐ 鹿児島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
各種 Fediverse TUI クライアントの Servitor を試す
matoken
0
20
シンプルな TUI VoIP の VoRS
matoken
0
5
シンクライアント端末をシンクライアントホスト的に利用
matoken
0
23
軽量テキストエディタの Lite-XL を試しています
matoken
0
20
パスワードマネージャーのKeePassXC でPassKey!
matoken
0
13
WordPress をActivityPub 対応に
matoken
0
13
GadgetBridge 経由でスマートウォッチで天気,アクティビティ記録
matoken
0
45
ターミナルプレゼンその2(Sixel編?)
matoken
0
36
X(old Twitter)の軽量フロントエンドのNitterをゲストアカウントで利用
matoken
0
270
Other Decks in Technology
See All in Technology
大規模言語モデル (LLM)における低精度数値表現
pfn
PRO
3
810
回り回って効いてくる副次的効果としての技術広報/techpr
nishiuma
1
180
PhpStorm超絶技巧40分集中講義 #phpconkagawa
yusuke
4
750
ハードウェアを動かすTypeScriptの世界
9wick
3
1.2k
多言語化対応における TypeScript の型定義を通して開発のしやすさについて考えた / TSKaigi TypeScript Multilingualization
nabeliwo
2
380
生成AIと産業向けソフトウェアの自動生成 〜 ハノーバーメッセ2024より〜
kioto
2
420
Domain-driven Design: A Complete Example
ewolff
2
250
本当のガバクラ基礎
toru_kubota
0
310
Deno で作る快適な “as Code” プラットフォーム – TSKaigi 2024
pizzacat83
4
310
NewSQL Landscape
oracle4engineer
PRO
5
3.2k
データ分析力を高めるSQL研修サービス『SQL Everyone』
hikarut
1
380
技術力の伸ばし方を考える
khirata
0
140
Featured
See All Featured
A Tale of Four Properties
chriscoyier
153
22k
Raft: Consensus for Rubyists
vanstee
133
6.3k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
9
1.3k
Building Your Own Lightsaber
phodgson
100
5.7k
Designing for humans not robots
tammielis
247
25k
Mobile First: as difficult as doing things right
swwweet
217
8.6k
Building a Modern Day E-commerce SEO Strategy
aleyda
22
6.5k
Agile that works and the tools we love
rasmusluckow
325
20k
Code Reviewing Like a Champion
maltzj
515
39k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
14
1.5k
Learning to Love Humans: Emotional Interface Design
aarron
267
39k
KATA
mclloyd
16
12k
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個のウィンドウまでにしてタ グを行き来するようにすると良さそう • 軽いけれどそのままでは使い勝手が悪いので 用途によりネットワークマネージャ等の設定 をしておくのがおすすめ • 慣れると便利そう(未だ数日目で手が覚えて
ない><)