Slide 1

Slide 1 text

仮想モニタとスマ 仮想モニタとスマ ホでサブディスプ ホでサブディスプ レイを レイを Kenichiro Matohara(matoken) 1 / 24

Slide 2

Slide 2 text

南隅から参加(鹿児島の右下) 好きなLinuxディストリビューションはDebian お仕事募集 mailto:work@matohara.org Kenichiro Matohara(matoken) Kenichiro Matohara(matoken) https://matoken.org https://matoken.org 2 / 24

Slide 3

Slide 3 text

最近 最近 四十肩 Open source Dropbox client > Unlimited number of devices H-IIAロケット45号機(三菱重工)/第6世代通信衛星「Inmarsat-6」 シリーズ初号機衛星(英インマルサット社) Maestral 3 / 24

Slide 4

Slide 4 text

https://vimeo.com/manage/videos/659433819 https://www.youtube.com/watch?v=u9bAVGqpgRY 4 / 24

Slide 5

Slide 5 text

サブディスプレイが壊れている サブディスプレイが壊れている ビデオミーティング時などに不便 画面共有時にサブディスプレイが使えると便利なのだけど…… 低解像度でいいので安いモニタが欲しい 通販は送料が,ハードオフはいまいち 5 / 24

Slide 6

Slide 6 text

最近の画面共有 最近の画面共有 6 / 24

Slide 7

Slide 7 text

入れ子のXを使ったり 入れ子のXを使ったり Zoom usではこのまま使えない $ Xephyr :10 -ac -resizeable -screen 720x400 7 / 24

Slide 8

Slide 8 text

ウェブブラウザをアプリケーシ ウェブブラウザをアプリケーシ ョンモードで起動したり ョンモードで起動したり アプリ切り替えが面倒 $ chromium --user-data-dir=`mktemp -d` --app=file://`pwd`/slide/slide.html 8 / 24

Slide 9

Slide 9 text

Linux環境で(低解像度の)画面共有を行うTips - Speaker Deck 9 / 24

Slide 10

Slide 10 text

仮想ディスプレイを設定してデ 仮想ディスプレイを設定してデ ィスプレイ単位で共有してみる ィスプレイ単位で共有してみる とどうだろう? とどうだろう? /usr/share/X11/xorg.conf.d/20-intel.conf xorg再起動. Section "Device" Identifier "intelgpu0" Driver "intel" Option "VirtualHeads" "2" EndSection 10 / 24

Slide 11

Slide 11 text

VIRTUAL1, VIRTUAL2 が生えた VIRTUAL1, VIRTUAL2 が生えた $ xrandr Screen 0: minimum 8 x 8, current 2086 x 768, maximum 32767 x 32767 eDP1 connected primary 1366x768+0+0 (normal left inverted right x axis y axis) 280mm x 160mm 1366x768 60.00*+ 1360x768 59.96 1280x720 59.86 60.00 59.74 1024x768 60.00 1024x576 60.00 59.90 59.82 960x540 60.00 59.63 59.82 800x600 60.32 56.25 864x486 60.00 59.92 59.57 640x480 59.94 720x405 59.51 60.00 58.99 680x384 60.00 640x360 59.84 59.32 60.00 DP1 disconnected (normal left inverted right x axis y axis) DP2 disconnected (normal left inverted right x axis y axis) HDMI1 disconnected (normal left inverted right x axis y axis) HDMI2 disconnected (normal left inverted right x axis y axis) VIRTUAL1 connected 720x405+1366+0 (normal left inverted right x axis y axis) 0mm x 0mm VIRTUAL2 disconnected (normal left inverted right x axis y axis) 11 / 24

Slide 12

Slide 12 text

cvtコマンドで利用したい解像度 cvtコマンドで利用したい解像度 の情報を取得 の情報を取得 $ cvt -r 640 480 # 640x480 59.46 Hz (CVT 0.31M3-R) hsync: 29.38 kHz; pclk: 23.50 MHz Modeline "640x480R" 23.50 640 688 720 800 480 483 487 494 +hsync -vsync 12 / 24

Slide 13

Slide 13 text

cvtコマンドの結果からxrandr – cvtコマンドの結果からxrandr – newmode に設定 newmode に設定 $ xrandr --newmode "640x480R" 23.50 640 688 720 800 480 483 487 494 +hsync -vsync 13 / 24

Slide 14

Slide 14 text

xrandr –addmode で反映 xrandr –addmode で反映 $ xrandr --addmode VIRTUAL1 640x480R 14 / 24

Slide 15

Slide 15 text

arandr等で設定 arandr等で設定 「レイアウト」 → 「名前を付けて保存」で設定がshell script(xrandr)で 保存される 15 / 24

Slide 16

Slide 16 text

Deskreenで適当なブラウザに画面 Deskreenで適当なブラウザに画面 を表示 を表示 一時的に使うのにはとても便利 スマホだとタスクスイッチでセッション来れるのでちょっと不 便 Deskreen 16 / 24

Slide 17

Slide 17 text

x11vnc利用 x11vnc利用 ドメイン死んでる? すでに動いているXをVNCで共有できる(類:vino) 今回はメインモニタの右に置いたのでオフセットしている 何度も使うならDeskreenより便利 AndroidはmDNS使えないぽいのでIP変わると面倒 http://www.karlrunge.com/x11vnc/ $ x11vnc -display :0 -clip 720x405+1366+0 -forever -avahi 17 / 24

Slide 18

Slide 18 text

設定script例 設定script例 以下のようなscriptを用意しておくと便利. 4つの解像度を設定して仮 想モニタを有効にしてx11vncを起動している 最後のxrandrはarandrで設定後書き出したもの #!/bin/sh xrandr --newmode "1280x720R" 63.75 1280 1328 1360 1440 720 723 728 741 +hsync -vsync xrandr --newmode "800x600R" 35.50 800 848 880 960 600 603 607 618 +hsync -vsync xrandr --newmode "720x405R" 21.75 720 768 800 880 405 408 413 419 +hsync -vsync xrandr --newmode "640x480R" 23.50 640 688 720 800 480 483 487 494 +hsync -vsync xrandr --addmode VIRTUAL1 1280x720R xrandr --addmode VIRTUAL1 800x600R xrandr --addmode VIRTUAL1 720x405R xrandr --addmode VIRTUAL1 640x480R # arandr export xrandr --output eDP1 --primary --mode 1366x768 --pos 0x0 --rotate normal --output DP1 --off -- #Deskreen.AppImage & x11vnc -display :0 -clip 720x405+1366+0 -forever -avahi & 18 / 24

Slide 19

Slide 19 text

動き 動き Deskreenで1280x720で動画を再生してもついてくる感じ,ただホス トPCでCPUをそこそこ使うのでCPUファンが回る スマートフォンだと見づらいので低解像度に → 720x405 スマートフォン画面がスリープしてしまう → VNC clientの設定でス リープを無効に VNCだとスマートフォンからの操作も可能 タブレットだともっと便利そう 19 / 24

Slide 20

Slide 20 text

ハードウェアダミープラグ(未検 ハードウェアダミープラグ(未検 証) 証) 出っ張るけど使いたいときに刺すだけでOKでデーモンの 再起動等も必要ない 自作 @1k〜で購入可能 50〜100Ωの抵抗機x3(R,G,Bの信号をそれぞれ繋ぐ)で 作れるようだが手持ちがなくて未確認 抵抗器は@1円くらい 20 / 24

Slide 21

Slide 21 text

USB-HDMIキャプチャ(未検証) USB-HDMIキャプチャ(未検証) FullHDなら1k程で売ら れていてUVCで使える のでLinuxでも問題なく 使える USB HUB + HDMIキャ プチャで https://amzn.to/3zEcAeXhttps://amzn.to/3zD1nej 21 / 24

Slide 22

Slide 22 text

まとめ まとめ 動きの少ないものに使うと不自由なく使える感じ 常用するには専用の端末じゃないと面倒 スペックはあまり必要ないので古いタブレットあたりを使うのが 良さそう 22 / 24

Slide 23

Slide 23 text

参考URL 参考URL Linux環境で(低解像度の)画面共有を行うTips - Speaker Deck デスクトップ/デスクトップアプリ共有ソフトのDeskreen – matoken’s meme x11 - Add VIRTUAL output to Xorg - Unix & Linux Stack Exchange Amazon.co.jp : ダミープラグ VGA How to create dummy plugs for your graphics cards カーボン抵抗(炭素皮膜抵抗) 1/6W75Ω (100本入): パーツ一般 秋月電子通商-電子部品・ネット通販 23 / 24

Slide 24

Slide 24 text

奥付 奥付 発表 発表者 利用ソフトウェア ライセンス CC BY-NC-SA 4.0 小江戸らぐ 1月のオフな集まり(第234回) Kenichiro Matohara(matoken) Asciidoctor Reveal.js 24 / 24