$30 off During Our Annual Pro Sale. View Details »

仮想モニタとスマホでサブディスプレイを

 仮想モニタとスマホでサブディスプレイを

Kenichiro MATOHARA

January 08, 2022
Tweet

More Decks by Kenichiro MATOHARA

Other Decks in Technology

Transcript

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

    View Slide

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

    View Slide

  3. 最近
    最近
    四十肩
    Open source Dropbox client

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    Identifier "intelgpu0"

    Driver "intel"

    Option "VirtualHeads" "2"

    EndSection
    10 / 24

    View Slide

  11. 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

    View Slide

  12. 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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  17. 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

    View Slide

  18. 設定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

    View Slide

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

    View Slide

  20. ハードウェアダミープラグ(未検
    ハードウェアダミープラグ(未検
    証)
    証)
    出っ張るけど使いたいときに刺すだけでOKでデーモンの
    再起動等も必要ない
    自作


    @1k〜で購入可能
    50〜100Ωの抵抗機x3(R,G,Bの信号をそれぞれ繋ぐ)で
    作れるようだが手持ちがなくて未確認
    抵抗器は@1円くらい
    20 / 24

    View Slide

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


    https://amzn.to/3zEcAeXhttps://amzn.to/3zD1nej
    21 / 24

    View Slide

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

    View Slide

  23. 参考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

    View Slide

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

    View Slide