私とscreen (@第30回CBUG Meeting) 2014/5/17(土)@池袋

Genta Iha
Genta Iha主幹工芸士 at 株式会社まほろば工房
私とscreen
2014年5月17日(土)	

まほろば工房 伊波 源太
第30回CBUG Meeting
30th CBUG Meeting
GNU Screen
• http://www.gnu.org/software/screen/
• 便利。だけど辛い時もある。	

1. (例)すごく深いディレクトリで作業する	

2. 新しいバッファ開く	

3. また別のバッファ開く
2
% cd すごく深いディレクトリ
% cd すごく深いディレクトリ
辛い!
30th CBUG Meeting
今後の伊波の運命
1. screenを使い続ける	

2. cdコマンドを多投する	

3. 炎が発生する	

4. キーボードが打てなくなる	

5. 失職
3
30th CBUG Meeting
何が問題?
4
screen	

CWD: ~/ zsh	

CWD: ~/a/b/c
zsh	

CWD: ~/a/b/c
zsh	

CWD: ~/
(2)新バッファ開く→fork
子プロセス
buffer#1
buffer#2
buffer#3	

(new process)
(3)親のCWDを引き継ぐ	

(そこは~/a/b/cに	

しといて欲しかった)
(1) ここで作業中
(4)cd多投→ 炎→失職
30th CBUG Meeting
ソリューション
• gdbというプロセス間通信手法
5
30th CBUG Meeting
つまり?
6
screen	

CWD: ~/a/b/c zsh	

CWD: ~/a/b/c
zsh	

CWD: ~/a/b/c
zsh	

CWD: ~/a/b/c
gdbというプロセス間	

通信手法を用いることで	

CWDを通知
子プロセス
buffer#1
buffer#2
buffer#3	

(new process)
解決!
30th CBUG Meeting
デモ (従来環境について)
7
←(1)このディレクトリで作業中
(2)新バッファ開く
←(3)別ディレクトリに	

いる。辛い。
30th CBUG Meeting
デモ (プロセス間通信) 1/3
8
(1)gdbというプロセス間通信クライアントを起動し	

screenとの通信チャネルをオープソする
プロンプト出ると	

オープソ完了→
気にしない
30th CBUG Meeting
デモ (プロセス間通信) 2/3
9
(2)通信チャネルを介して、新CWDを	

メッセーヅパッツソグにより通知
←CWD通知メッセーヅACK→
通信チャネル閉塞メッセーヅ
30th CBUG Meeting
デモ (プロセス間通信) 3/3
10
新バッファ開く
←幸福実現
30th CBUG Meeting
デモ (スクリプト化)
11
本筋に関係ない	

辛気臭い部分
~/bin/cwd コマンド
通信メッセーヅ
プロセス間通信	

クライアント起動部
30th CBUG Meeting
デモ (使用例)
12
メッセーヅパッツソグを行う
←幸福実現
30th CBUG Meeting
まとめ
• gdbというプロセス間通信手法を日常的に多用するこ
とで、幸福を実現することができる	

• gdb最高!	

• gdb! gdb! gdb! gdb! gdb! gdb! gdb! gdb! gdb! gdb! gdb! gdb!
13
30th CBUG Meeting
懇親会でのご意見 (5/18追記)
• 「頭がおかしいです」の歪曲表現 (同意見多数)	

• ありがとうございます (伊波)	

• gdbというプロセス間通信技術を活用することで、
SDNコントローラを構成することも可能ではないか
(umeさん)	

• !! (伊波)
14
30th CBUG Meeting
今後の野望 (5/18追記)
• Insanity Software-Defined Network (ISDN)を実現	

• kgdbというプロセス間通信手法を基盤技術とする	

• リモートからアタッチプロセス間通信を行うことに
より、経路注入等を行う	

• ISDNコントローラ以外の部分は、一切の追加開発
を要しない等、多数のメリットがある
15
1 of 15

Recommended

L4d2_serverside_analyze by
L4d2_serverside_analyzeL4d2_serverside_analyze
L4d2_serverside_analyzehogemaru_
386 views14 slides
20200527 zoomlocalrecording by
20200527 zoomlocalrecording20200527 zoomlocalrecording
20200527 zoomlocalrecording涼弥 中村
28 views5 slides
SoftlayerのCLIで遊ぼうとしたら by
SoftlayerのCLIで遊ぼうとしたらSoftlayerのCLIで遊ぼうとしたら
SoftlayerのCLIで遊ぼうとしたら雄哉 吉田
2.4K views27 slides
Introduction to Initramfs - Initramfs-tools and Dracut by
Introduction to Initramfs - Initramfs-tools and DracutIntroduction to Initramfs - Initramfs-tools and Dracut
Introduction to Initramfs - Initramfs-tools and DracutTaisuke Yamada
3.3K views20 slides
Lxc cf201207-presen by
Lxc cf201207-presenLxc cf201207-presen
Lxc cf201207-presenKouhei Maeda
1.3K views25 slides
initramfsについて by
initramfsについてinitramfsについて
initramfsについてKazuhiro Nishiyama
14.3K views53 slides

More Related Content

What's hot

Gentooでルータ作った話 by
Gentooでルータ作った話Gentooでルータ作った話
Gentooでルータ作った話Yuichi Nagayama
1.8K views21 slides
Raspberry Piにdiskless modeのalpine linuxを導入してみる by
Raspberry Piにdiskless modeのalpine linuxを導入してみるRaspberry Piにdiskless modeのalpine linuxを導入してみる
Raspberry Piにdiskless modeのalpine linuxを導入してみるKenichiro MATOHARA
5.6K views34 slides
Jitsi video bridge で遊んでみた by
Jitsi video bridge で遊んでみたJitsi video bridge で遊んでみた
Jitsi video bridge で遊んでみたtnoho
7.7K views17 slides
Unixアレコレ調べたい2 by
Unixアレコレ調べたい2Unixアレコレ調べたい2
Unixアレコレ調べたい2Hirokazu Yatsunami
85 views5 slides
5分でなんとなーくわかるDocker by
5分でなんとなーくわかるDocker5分でなんとなーくわかるDocker
5分でなんとなーくわかるDockerYuta Ohashi
2.6K views15 slides
RuCTFEに参加したよ by
RuCTFEに参加したよRuCTFEに参加したよ
RuCTFEに参加したよabend_cve_9999_0001
2.1K views20 slides

What's hot(20)

Gentooでルータ作った話 by Yuichi Nagayama
Gentooでルータ作った話Gentooでルータ作った話
Gentooでルータ作った話
Yuichi Nagayama1.8K views
Raspberry Piにdiskless modeのalpine linuxを導入してみる by Kenichiro MATOHARA
Raspberry Piにdiskless modeのalpine linuxを導入してみるRaspberry Piにdiskless modeのalpine linuxを導入してみる
Raspberry Piにdiskless modeのalpine linuxを導入してみる
Kenichiro MATOHARA5.6K views
Jitsi video bridge で遊んでみた by tnoho
Jitsi video bridge で遊んでみたJitsi video bridge で遊んでみた
Jitsi video bridge で遊んでみた
tnoho7.7K views
5分でなんとなーくわかるDocker by Yuta Ohashi
5分でなんとなーくわかるDocker5分でなんとなーくわかるDocker
5分でなんとなーくわかるDocker
Yuta Ohashi2.6K views
タイル型ウィンドウマネージャのススメ by Takuto Matsuu
タイル型ウィンドウマネージャのススメタイル型ウィンドウマネージャのススメ
タイル型ウィンドウマネージャのススメ
Takuto Matsuu3.3K views
今時のLinuxにおけるGPUエンコード事情 by zgock
今時のLinuxにおけるGPUエンコード事情今時のLinuxにおけるGPUエンコード事情
今時のLinuxにおけるGPUエンコード事情
zgock10.2K views
Debianで組み込み環境 by Youhei SASAKI
Debianで組み込み環境Debianで組み込み環境
Debianで組み込み環境
Youhei SASAKI1.1K views
Dockerをすこーしさわってみる by Yuta Ohashi
DockerをすこーしさわってみるDockerをすこーしさわってみる
Dockerをすこーしさわってみる
Yuta Ohashi3K views
今時のLinuxにおけるGPUエンコード事情2018 by zgock
今時のLinuxにおけるGPUエンコード事情2018今時のLinuxにおけるGPUエンコード事情2018
今時のLinuxにおけるGPUエンコード事情2018
zgock8.6K views
BHyVeってなんや by Takuya ASADA
BHyVeってなんやBHyVeってなんや
BHyVeってなんや
Takuya ASADA10.6K views
“bcache”を使ってSSDの速さと HDDの大容量のいいとこどり 2015-12-12 by Nobuto Murata
“bcache”を使ってSSDの速さと HDDの大容量のいいとこどり 2015-12-12“bcache”を使ってSSDの速さと HDDの大容量のいいとこどり 2015-12-12
“bcache”を使ってSSDの速さと HDDの大容量のいいとこどり 2015-12-12
Nobuto Murata6.3K views
全人類Linuxを使え by KotaIsozaki
全人類Linuxを使え全人類Linuxを使え
全人類Linuxを使え
KotaIsozaki146 views
時間をかけて解く FizzBuzz by Kazuyuki CHINDA
時間をかけて解く FizzBuzz時間をかけて解く FizzBuzz
時間をかけて解く FizzBuzz
Kazuyuki CHINDA2.2K views
BHyVe: The BSD Hypervisor by Takuya ASADA
BHyVe: The BSD HypervisorBHyVe: The BSD Hypervisor
BHyVe: The BSD Hypervisor
Takuya ASADA2.7K views

Viewers also liked

Debug Hacks Night by
Debug Hacks NightDebug Hacks Night
Debug Hacks NightHiro Yoshioka
796 views31 slides
40th CBUG meeting opening ("Welcome to CBUG!") (at Asahi Net) by
40th CBUG meeting opening ("Welcome to CBUG!") (at Asahi Net)40th CBUG meeting opening ("Welcome to CBUG!") (at Asahi Net)
40th CBUG meeting opening ("Welcome to CBUG!") (at Asahi Net)Genta Iha
290 views15 slides
言語処理系入門4 by
言語処理系入門4言語処理系入門4
言語処理系入門4Kenta Hattori
1.2K views22 slides
取り残されたIt未開の地 by
取り残されたIt未開の地取り残されたIt未開の地
取り残されたIt未開の地Kenta Hattori
817 views16 slides
分散システム第7章(前半) by
分散システム第7章(前半)分散システム第7章(前半)
分散システム第7章(前半)Kenta Hattori
3.6K views31 slides
言語処理系入門€10 by
言語処理系入門€10言語処理系入門€10
言語処理系入門€10Kenta Hattori
836 views26 slides

Viewers also liked(20)

40th CBUG meeting opening ("Welcome to CBUG!") (at Asahi Net) by Genta Iha
40th CBUG meeting opening ("Welcome to CBUG!") (at Asahi Net)40th CBUG meeting opening ("Welcome to CBUG!") (at Asahi Net)
40th CBUG meeting opening ("Welcome to CBUG!") (at Asahi Net)
Genta Iha290 views
言語処理系入門4 by Kenta Hattori
言語処理系入門4言語処理系入門4
言語処理系入門4
Kenta Hattori1.2K views
取り残されたIt未開の地 by Kenta Hattori
取り残されたIt未開の地取り残されたIt未開の地
取り残されたIt未開の地
Kenta Hattori817 views
分散システム第7章(前半) by Kenta Hattori
分散システム第7章(前半)分散システム第7章(前半)
分散システム第7章(前半)
Kenta Hattori3.6K views
言語処理系入門€10 by Kenta Hattori
言語処理系入門€10言語処理系入門€10
言語処理系入門€10
Kenta Hattori836 views
Debianのstart-stop-daemonがLXC対応じゃないのでいじってたら何故かkFreeBSDも触ることになった話 by Genta Iha
Debianのstart-stop-daemonがLXC対応じゃないのでいじってたら何故かkFreeBSDも触ることになった話Debianのstart-stop-daemonがLXC対応じゃないのでいじってたら何故かkFreeBSDも触ることになった話
Debianのstart-stop-daemonがLXC対応じゃないのでいじってたら何故かkFreeBSDも触ることになった話
Genta Iha1K views
38th CBUG meeting opening ("Welcome to CBUG!"), Feb 27 2016, Tokyo, Japan by Genta Iha
38th CBUG meeting opening ("Welcome to CBUG!"), Feb 27 2016, Tokyo, Japan38th CBUG meeting opening ("Welcome to CBUG!"), Feb 27 2016, Tokyo, Japan
38th CBUG meeting opening ("Welcome to CBUG!"), Feb 27 2016, Tokyo, Japan
Genta Iha361 views
July Tech Festa 2014発表資料 by Kenta Hattori
July Tech Festa 2014発表資料July Tech Festa 2014発表資料
July Tech Festa 2014発表資料
Kenta Hattori1.5K views
言語処理系入門€7 by Kenta Hattori
言語処理系入門€7言語処理系入門€7
言語処理系入門€7
Kenta Hattori960 views
言語処理系入門€5 by Kenta Hattori
言語処理系入門€5言語処理系入門€5
言語処理系入門€5
Kenta Hattori427 views
分散システム第7章(後半) by Kenta Hattori
分散システム第7章(後半)分散システム第7章(後半)
分散システム第7章(後半)
Kenta Hattori2.4K views
言語処理系入門€2 by Kenta Hattori
言語処理系入門€2言語処理系入門€2
言語処理系入門€2
Kenta Hattori4.6K views
言語処理系入門€8 by Kenta Hattori
言語処理系入門€8言語処理系入門€8
言語処理系入門€8
Kenta Hattori1.2K views
言語処理系入門1 by Kenta Hattori
言語処理系入門1言語処理系入門1
言語処理系入門1
Kenta Hattori3.3K views
Using oss at an internet company and hacker culture by Hiro Yoshioka
Using oss at an internet company and hacker cultureUsing oss at an internet company and hacker culture
Using oss at an internet company and hacker culture
Hiro Yoshioka1.4K views
Project Based Learning using by PaaS by Hiro Yoshioka
Project Based Learning using by PaaSProject Based Learning using by PaaS
Project Based Learning using by PaaS
Hiro Yoshioka2K views
言語処理系入門€9 by Kenta Hattori
言語処理系入門€9言語処理系入門€9
言語処理系入門€9
Kenta Hattori789 views

私とscreen (@第30回CBUG Meeting) 2014/5/17(土)@池袋

  • 2. 30th CBUG Meeting GNU Screen • http://www.gnu.org/software/screen/ • 便利。だけど辛い時もある。 1. (例)すごく深いディレクトリで作業する 2. 新しいバッファ開く 3. また別のバッファ開く 2 % cd すごく深いディレクトリ % cd すごく深いディレクトリ 辛い!
  • 3. 30th CBUG Meeting 今後の伊波の運命 1. screenを使い続ける 2. cdコマンドを多投する 3. 炎が発生する 4. キーボードが打てなくなる 5. 失職 3
  • 4. 30th CBUG Meeting 何が問題? 4 screen CWD: ~/ zsh CWD: ~/a/b/c zsh CWD: ~/a/b/c zsh CWD: ~/ (2)新バッファ開く→fork 子プロセス buffer#1 buffer#2 buffer#3 (new process) (3)親のCWDを引き継ぐ (そこは~/a/b/cに しといて欲しかった) (1) ここで作業中 (4)cd多投→ 炎→失職
  • 5. 30th CBUG Meeting ソリューション • gdbというプロセス間通信手法 5
  • 6. 30th CBUG Meeting つまり? 6 screen CWD: ~/a/b/c zsh CWD: ~/a/b/c zsh CWD: ~/a/b/c zsh CWD: ~/a/b/c gdbというプロセス間 通信手法を用いることで CWDを通知 子プロセス buffer#1 buffer#2 buffer#3 (new process) 解決!
  • 7. 30th CBUG Meeting デモ (従来環境について) 7 ←(1)このディレクトリで作業中 (2)新バッファ開く ←(3)別ディレクトリに いる。辛い。
  • 8. 30th CBUG Meeting デモ (プロセス間通信) 1/3 8 (1)gdbというプロセス間通信クライアントを起動し screenとの通信チャネルをオープソする プロンプト出ると オープソ完了→ 気にしない
  • 9. 30th CBUG Meeting デモ (プロセス間通信) 2/3 9 (2)通信チャネルを介して、新CWDを メッセーヅパッツソグにより通知 ←CWD通知メッセーヅACK→ 通信チャネル閉塞メッセーヅ
  • 10. 30th CBUG Meeting デモ (プロセス間通信) 3/3 10 新バッファ開く ←幸福実現
  • 11. 30th CBUG Meeting デモ (スクリプト化) 11 本筋に関係ない 辛気臭い部分 ~/bin/cwd コマンド 通信メッセーヅ プロセス間通信 クライアント起動部
  • 12. 30th CBUG Meeting デモ (使用例) 12 メッセーヅパッツソグを行う ←幸福実現
  • 13. 30th CBUG Meeting まとめ • gdbというプロセス間通信手法を日常的に多用するこ とで、幸福を実現することができる • gdb最高! • gdb! gdb! gdb! gdb! gdb! gdb! gdb! gdb! gdb! gdb! gdb! gdb! 13
  • 14. 30th CBUG Meeting 懇親会でのご意見 (5/18追記) • 「頭がおかしいです」の歪曲表現 (同意見多数) • ありがとうございます (伊波) • gdbというプロセス間通信技術を活用することで、 SDNコントローラを構成することも可能ではないか (umeさん) • !! (伊波) 14
  • 15. 30th CBUG Meeting 今後の野望 (5/18追記) • Insanity Software-Defined Network (ISDN)を実現 • kgdbというプロセス間通信手法を基盤技術とする • リモートからアタッチプロセス間通信を行うことに より、経路注入等を行う • ISDNコントローラ以外の部分は、一切の追加開発 を要しない等、多数のメリットがある 15