nucとubuntuを職場のノートPC代わりにしてみた

仕事が変わりました。

ついでに職場用のPCを新しくしました。

お金を稼がない仕事になったので
いいパソコンを準備してくれとは言えませんでした。

新しいお仕事的にも性能は適当でいいけど
一応たまに会議で使ったりするので
最初はクソ安ノートでいいんじゃないかなあと
思っていたんですが、職場のパソコンおじさんに
nuc を勧められたので調べてみたところ
  • ポケットサイズなので持ち運びが楽
  • どこの会議室もモニタやプロジェクタがあるので画面不要
  • 性能の割に安い
ということで nuc に決めました。

こんな想定で持ち歩きいて使う感じ。
職場(自席・会議室)┃ 自宅
┏━━━━━━┓  ┃ ┏━━━━━━┓
┃ディスプレイ┃  ┃ ┃ディスプレイ┣┓
┗━━┳━━━┛  ┃ ┗━━━━━━┛┃
┏━━┻━━━┓  ┃ ┏━━━━━━┓┃
┃ nuc  ┃  ┃ ┃ nuc  ┃┃
┗━━┳━━━┛  ┃ ┗━━┳━━━┛┃
┏━━┻━━━┓  ┃ ┏━━┻━━━┓┃
┃  人   ┃  ┃ ┃WinPC ┣┛
┗━━━━━━┛  ┃ ┗━━┳━━━┛
          ┃ ┏━━┻━━━┓
          ┃ ┃  人   ┃
          ┃ ┗━━━━━━┛

しかし windows 入りだとちょっとお高い。
os にカネかけたくないとなると linux しかない。

で、検討してみた結果
  • もうプログラムやらないので重たい処理いらない
  • もう客にドキュメント納品したりしないのでオフィスいらない
  • 会社で G Suite 使ってるしGoogleドキュメントでいい
  • つまりブラウザがあればいい
  • 前に ubuntu 流行ったのだいぶ昔だしもうまともに使えるようになってるだろ

ということで nuc + ubuntu 18.04 LTS にしてみました。


合計7万弱

性能のわりには安いとは思うけど当初の激安計画よりちょっと高くなっちゃったかなという印象

1週間くらいですべて揃ったのでさっそく ubuntu 18.04 を入れてみる。

ubuntu は本家のものと、ちゃんと日本語対応してくれている日本分家のものがあるので分家の方を使います。
本家のものを自分で日本語化すると面倒なことばっかり起こって時間の無駄というのは過去の経験から学習済み。
ubuntu に限った話ではないですが。

インストールは家に転がってるUSBメモリをubuntu起動用にしてインストールです。
作成方法は色んな人が解説してくれているのでありがたい。

Windows 10でUbuntuのインストール用USBメモリを作成 | 普段使いのArch Linux

なんの問題もなくすんなりインストール完了。

起動して chrome を入れたら完成。
これで仕事もバッチリ。

のはずだったんですが、普段持ち歩いて使うのにちょっとした問題発生。

職場の席ではディスプレイに繋いで普通に使う。
会議室も同じくでかいテレビやプロジェクタに繋いで普通に使う。

ここまではOKなんですが、自宅はディスプレイが1つしかなく windows マシンが接続済み。
使うたびに HDMI ケーブルを差し替えるのも面倒だしこれだけのために切替器を使うのも場所をとって邪魔になる。

だったら windows と同じようにリモートデスクトップだろ!!

で、ubuntu 18.04 の標準はどうなってるのか調べてみると vino が入っている。
vino で接続する方法もすでに多くの方が紹介されているので省略。

Windows10もしくはMacOSからUbuntu 18.04 LTSにリモート接続(リモートデスクトップ)してみた - いろいろ試してみる

しかし vino は画面につながっているものを横からお邪魔してリモートで操作できるというもので
ウィンドウズのリモートデスクトップや vncserver のようにディスプレイ何もログインしてない状態に対して
gui でログインして操作できるというものではなかった。

つまり、ディスプレイにつないでないマシンに vino で接続するとなんかそれっぽい画面はでるんだけど
画面サイズが 0x0 の状態になっているのでマウスで操作してもおかしな動きをするだけで何もできないに等しいという悲しい状態になってしまうのです。

じゃあ vncserver いれたろってことで入れてみたけど windows から接続するとグレーの画面にXのカーソルが表示されるだけ。
カーソルは動くけどソレ以外なにもできない。
ググると解決策はでるんだけど同じようにやっても何も改善せず。

vnc - gray screen problem with disappearing menu in Ubuntu 18.04 - Ask Ubuntu

現象としてはバージョンは違うけどこのスレと同じ。

vnc server - Gray screen with cross cursor in TightVNC - Stack Overflow

色々調べてみたけど解決できないので別の方法を考えてみて思いついたのが

  • やはり最初から入ってて一応繋がる vino を使う
  • ディスプレイを繋いでなくても仮想デスクトップ領域が確保されているようにする
  • ディスプレイを繋いでいる時はそっちを優先させる

これなら常に領域確保されているので vino が相手でもうまくいくはず。
でもどうやったらいいのかわからないので適当に「ダミー ubuntu デスクトップ」みたいにググりまくっていると

  • xserver-xorg-video-dummy

というのを使うとダミーディスプレイというかビデオカード自体がダミーになったようなモノを設定できるらしい。


やってみるとたしかにディスプレイ接続してなくても領域確保されて vnc で接続できて使えました。

ただ、これをやると本物のグラフィック関連を認識してくれなくなってしまうのです。

つまり職場でディスプレイにつないで ubuntu 単体で使えない。
これは致命的!!

なんとか元のグラフィック自動検出とダミーを併用させられないものかと思って調べていると、ビデオ出力先を追加するという方法がありました。

Ubuntu 18.04 で Kindle Fire HD をサブディスプレイとして使う方法 - Qiita

ダミーっぽい出力先を追加し、起動時に xrandr で画面サイズを設定して有効化させるという処理を追加すればいいだけっぽい!!
自分用に設定内容を整理するとこうなります。

  1. 出力先を追加する設定ファイルを作成 /usr/share/X11/xorg.conf.d/20-intel.conf
    Section "Device"
        Identifier "intelgpu0"
        Driver "intel"
        Option "VirtualHeads" "1" # 自宅で vnc するだけなので1つだけ
    EndSection
  2. 起動時に有効化させる設定を追加 /etc/X11/Xsession.d/45custom_xrandr-settings
    #!/bin/bash
    xrandr --newmode "1920x1080_60.00"  172.80  1920 2040 2248 2576  1080 1081 1084 1118  -HSync +Vsync # フルHDサイズの設定を作成
    xrandr --addmode VIRTUAL1 1920x1080_60.00 # ダミーっぽい出力先に反映させる
    xrandr --output DP2 --pos 0x0 --primary # 実際の出力先(USB-C/Thunderbolt)を優先させて左上に設定

ディスプレイ接続している場合はそっちが優先
接続してない場合はダミーだけ

ということで解決。

これでnucと電源だけポケットに入れて移動先にあるマウスやキーボードを使えばバッグを持ち歩かなくていい!!
ノートPCなんて重くてクソだわ!!

つづく

コメント