Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

1,081 views

Published on

第30回CBUG Meetingで発表したscreenの使い方についての発表です。

Published in: Software
  • Be the first to comment

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

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

×