Vulkan(vkcube) in FreeBSD on bhyve
目的
vulkan のプログラムをテストしたいのだけど、メインPCで開発していると失敗したときにフリーズしたりしてちょっと大変なので、仮想環境の中で実行してみようという試みです。
うまくいったのでやり方をまとめておきます。
なお、nVidiaのFreeBSDドライバは vulkan をサポートしていないので、FreeBSDで試すなら AMD か Intel のGPUを使います。
動作環境
- CPU AMD athlon 200ge (*1)
- Memory 8G
- AMD Radeon R7 230/340
NVidia GeForce 750Ti (*2)
Linux AMD Pro Drive not supported Vega 3 GPU.
- Not test.
安価な AMT Athlon 200GE で組んだPCでテストしてみました。なにより、今回はあまり例の少ない RADEON を試したかったというのもあります。
準備1・PCI Passthrough
BIOS画面で SVM と IOMMU を有効にしておく。
FreeBSD 12.1
今回の実験でVMを保存しておくディレクトリは /var/vm になっています。
PCI
PCI passthrough で仮想環境内でGPUをダイレクトアクセスできるように準備します。
まずはpassthroughしたいGPUのBUSIDを調べます。テスト機には3つのGPUがありますが、Radeon R7 をテストに使います。
pciconfで調べた結果、BUSID = 6:0:0 であることがわかりました。
# pciconf -lv | grep -B3 display # Check GPU PCIBUS vgapci2@pci0:6:0:0: class=0x030000 card=0xe263174b chip=0x66131002 rev=0x00 hdr=0x00 vendor = 'Advanced Micro Devices, Inc. [AMD/ATI]' device = 'Oland PRO [Radeon R7 240/340]' class = display
/boot/loader.conf
loader.conf パススルーであることを設定します。また、今回はAMDのCPUを使っているので loader.conf に hw.vmm.amdvi.enable="1" も追加しておきます。
BUSIDは : ではなく / で区切ります。
GPUは6/0/0ですが、HDMIのAudioデバイスがセットでくっついているのでそれもパススルーに追加しておきます。ほぼ間違いなく3つめの値が1です。
# AMD-VI hw.vmm.amdvi.enable="1" vmm_load="YES" pptdevs="6/0/0 6/0/1"
ここで一回再起動します。
reboot
再起動したらパススルーデバイスになっているか確認します。
# pciconf -lv | grep -B3 display # Check GPU PCIBUS ppt0@pci0:6:0:0: class=0x030000 card=0xe263174b chip=0x66131002 rev=0x00 hdr=0x00 vendor = 'Advanced Micro Devices, Inc. [AMD/ATI]' device = 'Oland PRO [Radeon R7 240/340]' class = display
vgapci2 が ppt0 になっています。パススルーするデバイスの数によって ppt1 だったり ppt2 だったりしますがそこは関係ないので気にしないでよいです。
準備2・Virtual Machine
仮想マシンを構築していきます。
vm-bhyve
bhyveをそのまま使うとコマンドを打つのが大変なのでvm-bhyveを使います。vm-bhyveはbhyveを簡単に呼び出すためのシェルスクリプトです。
3行目と4行目の public は仮想マシンが使う仮想ネットワークデバイスの名前です。なんでも良いのですが、多くのサンプルに合わせてpublicにします。
4行目の re0 は使用しているネットワークインターフェースの名前です。
5行目はFreeBSDのインストールメディアのダウンロードです。
6行目のvktestは仮想マシンの名前なので自分で好きなようにつけてください。
# pkg update # pkg upgrade # pkg install vm-bhyve # mkdir /var/vm # vm init # vm switch create public # vm swotch add public re0 # vm iso https://download.freebsd.org/ftp/releases/amd64/amd64/ISO-IMAGES/12.1/FreeBSD-12.1-RELEASE-amd64-disc1.iso # vm create vktest
/var/vm/vktest/vktest.conf
仮想マシンの設定ファイルをいぢります。ファイルは /var/vm/vktest/vktest.conf です。vktestはさきほどの仮想マシンの名前です。
ポイントは passthru0 です。ここにパススルーしたいBUSIDを記載します。複数ある場合はpassthru0,passthru1のように書いていきます。
loader="bhyveload" cpu=1 memory=2G network0_type="virtio-net" network0_switch="public" disk0_type="virtio-blk" disk0_name="disk0.img" passthru0="6/0/0" passthru1="6/0/1" uuid="自動設定されているはず" network0_mac="自動設定されているはず"
仮想マシン用のハードディスクはデフォルトでは20Gバイト確保されています。
# ls /var/vm/vktest -rw------- 1 root wheel 21474836480 Jan 13 19:40 disk0.img
自前で確保したいときは truncate コマンドを使います。以下がそのサンプルです。
# truncate -s 16G /var/vm/vktest/disk0.img
VMの起動
「vm install 仮想マシン名 ISOファイル名」でインストールモードでVMを起動できます。ちなみにISOファイルは /var/vm/.iso ディレクトリ内にあるファイル名になります。
# vm install vktest FreeBSD-12.1-RELEASE-amd64-disc1.iso # vm list NAME DATASTORE LOADER CPU MEMORY VNC AUTOSTART STATE vktest default bhyveload 2 2G - No BootLoader(1751)
これで起動しているはずなので、仮想マシンのシリアルコンソールに入ります。環境によってはレイアウトがおかしなことになっていることもありますが、そこは気にせずインストール作業をしてみてください。
なお、vm consoleから抜ける方法はないのでssh経由で操作することをお勧めします。
# vm console vktest
FreeBSDを仮想マシンにインストールしたら、仮想マシン内でsshなどを起動しておくとよいでしょう。
ここからはすべて仮想マシン内での作業になります。
仮想マシン・Desktop
PCIのBUSIDを確認しておきます。
BUSID = 6:0:0 でGPUが見えているのがわかります。ちなみに、ホスト環境と異なることもあるので必ず確認しましょう。
# pciconf -lv | grep -B3 display vgapci0@pci0:0:6:0: class=0x030000 card=0xe263174b chip=0x66131002 rev=0x00 hdr=0x00 vendor = 'Advanced Micro Devices, Inc. [AMD/ATI]' device = 'Oland PRO [Radeon R7 240/340]' class = display
ソフトウェアのインストール
1行目は基本的なデスクトップ環境です。xorgとx11vncだけあればとりあえずテストはできますが、ウィンドウマネージャをインストールしてちょっと使いやすくしておきます。
2行目はdrm-kmodがGPUドライバ、xf86-video-amdgpuがx11からamdgpuを使うためのソフトです。
# pkg update # pkg upgrade # pkg install xorg mate lightdm lightdm-gtk-greeter x11vnc # pkg install drm-kmod xf86-video-amdgpu
ドライバの読み込み
Radeonの場合はamdgpuというモジュールになります。
# kldload amdgpu # dmesg [drm] amdgpu: 2048M of VRAM memory ready [drm] amdgpu: 1504M of GTT memory ready. (略) [drm] size 14745600 [drm] fb depth is 24 [drm] pitch is 10240
Xの設定
今回はxorg.confを直接書きます。
/usr/local/etc/X11/xorg.conf を作成し、以下のように編集します。
ポイントは Section Device の BusID と、Section Screen の Virtual の項目です。
Section "ServerLayout" Identifier "X.org Configured" Screen 0 "Screen0" 0 0 EndSection Section "Module" Load "glx" EndSection Section "Monitor" Identifier "Monitor0" EndSection Section "Device" Identifier "Card0" Driver "amdgpu" BusID "PCI:0:6:0" Option "DRI3" "true" Option "TearFree" "true" EndSection Section "Screen" Identifier "Screen0" Device "Card0" Monitor "Monitor0" DefaultDepth 24 SubSection "Display" Virtual 1280 1024 Depth 24 EndSubSection EndSection
ユーザーを video グループに追加する
作業するユーザーを video グループに追加し、一般ユーザーに戻ってください。
# pw usermod USERNAME -G video
Xを起動する
今回はわかりやすいようにサービス化せずに直接Xを起動します。
% startx もしくは % lightdm
VNCを起動する
SSHなどで接続し、今度はx11vncを起動します。
% x11vnc -storepasswd test.passwd VNC用パスワードを適当に決める % x11vnc -auth guess -display :0 -rfbport 5900 -forever -loop -noxdamage -repeat -rfbauth test.passwd
VNC Viewerで接続する
Windowsなどから VNCで接続し、vulkan-toolsなどをインストールしてからvkcube を実行すればVulkanのデモが見れるはずです。
ESXiとbhyve
最初はVMWare (ESXi)を使っていたのですが、どうやら PCI Passthrough に問題があるらしく…というか実際に使っていたらPCIパススルーまわりでシステムがフリーズしたり…ということが多々ありあまり使い物になりませんでした。
そこで正直あまり期待はしていなかったのですが、FreeBSD bhyve をダメもとで使ってみたところ、思った以上に使いやすい(ホスト環境側にGUIが不要)!安定している!ということで、試しにやってみました。
今後はこれで本格運用をしていこうかなと思います。
テストによさそうなものたち
ASUS AMD Radeon R7 240搭載ビデオカード 防塵ファン R7240-2GD3-L
- 発売日: 2014/04/25
- メディア: Personal Computers
PowerColor社製 AMD Radeon R7 240 GPU搭載ビデオカード (オーバークロックモデル) AXR7 240 2GBK3-HV2E/OC
- メディア: Personal Computers
AMD CPU Athlon 200GE YD200GC6FBBOX Vegaグラフィックス搭載
- 発売日: 2018/09/28
- メディア: Personal Computers
ASRock AMD B450チップ搭載 Micro ATX マザーボード B450M Pro4
- 発売日: 2018/07/31
- メディア: Personal Computers
CORSAIR DDR4-2666MHz デスクトップPC用 メモリモジュール VENGEANCE LPX Series 8GB×2枚キット CMK16GX4M2A2666C16
- 発売日: 2015/08/01
- メディア: Personal Computers
シリコンパワー SSD 256GB 3D NAND採用 SATA3 6Gb/s 2.5インチ 7mm PS4動作確認済 3年保証 A55シリーズ SP256GBSS3A55S25
- 発売日: 2017/10/10
- メディア: 付属品
お米を収穫した
地産の玄米も美味しいのですが、入荷していない時があったりするので、あまぞーんで無農薬玄米を購入してます。
そんな米ですが、食べる以外にも神棚に定期的にお供えするのにも使っていたりします。
白米じゃないのだけど、たぶん昔は玄米だったんじゃないかなーと考えると、むしろ玄米のほうがいいんじゃないか?というのとやっぱ神様にお供えするのだから無農薬がいいよね?的な。
さて、神棚にお供えしたお米は定期的に入れ替えるわけなのだけど、昨年お供えが終わったお米を試しに水につけていたら見事発芽しました。
その後、発芽したお米の一部をベランダに置いてある発泡スチロールの箱に水と砂を入れて簡易田んぼもどきを作って植えてみました。
そして放置
田んぼもどきはベランダに置いてあるのだけど、洗濯物を干すついでに水の量をチェックして減っていたら水を補充。
ただ、雨が降ったら雨水が勝手に補充されるので、水を補充したのは2~3回程度。ぶっちゃけずっと放置。
収穫
そんな稲も実をつけて、無事に収穫。田植えした時期がかなりズレていたのだけどそれでも少量ですが無事お米が獲れました。
人生初物のお米ということで、今年最初の神棚の手入れの時にお供えすることにしました。食べるには少なすぎるし(笑)
育ててみて思ったこと
(収穫効率を考えなければ)育てること自体はすごく簡単でとても丈夫だということ。
古来日本で米が重要視されていたのもなるほどと頷ける。米がなかったら飢えに耐えられなかったのだろうなと。
あと、収穫した直後の米はとても柔らかい!試しに一粒だけ爪でもみ殻をはがして生米のまま食べてみたのだけど、普通に食べることができた。これはこれでおいしいかも?いや、少量をオヤツがわりにポリポリとかじるなら美味しいかも?というニュアンスね。
また、育ててみようかと思う。
育てた玄米
よく食べてる玄米。おいちぃ。あと今回の実験で、水に漬けたら芽が出る稲を育てることができる。というのが分かったので、それも考えると安心のお米なんじゃないかと思う。
今年もまた、育ててみよう。
headless & x11vncを自動起動にしてリモートPCにする
先日、プログラムのテストを行うための環境をEXSi上の仮想マシンに構築しました。どちらもGPUを使ったプログラムのテストをしたかったのでVNCで接続したいなー。でも毎回自分でVCNServerを起動するのは面倒だなーと思ったので、ヘッドレス化(モニタやきーぼどマウス無しで使うこと)してVNCServerを自動的に起動するようにしました。
セキュリティ的にはちょっと問題もあるのですが、閉じられた環境かつ使い捨ての環境なのでそこまで気にしなくてもよいので今回はとにかくお手軽に使えることを優先です。
headless化のための xorg.conf
まずはheadlessでXが起動できるように設定します。
ポイントはheadlessだと接続されているモニタが見つからないため、Xの初期化に失敗してしまうため「仮想スクリーンを使う」ということを指定してあげることです。
FreeBSDなら /usr/local/etx/X11/xorg.conf.d 、Linux なら /etc/X11/xorg.conf.d に自分が管理しやすい名前でファイルを作成し、以下の内容を記載してください。なお、ファイルの拡張子は .conf である必要があります(例 headless.conf など)。
# GPUを設定する。ここはPCによって異なるので注意 Section "Device" Identifier "X11VncGgraphics0" # GPUの種類。nvidia, intel, amdgpu, radeon, modesetting などなど Driver "nvidia" # GPUが接続されているPCIバス。 # FreeBSDは pciconf -lv # Linuxは lspci # で探すことができます。 BusID "PCI:3:0:0" # search from pciconf(FreeBSD), lspci(Ubuntu) EndSection # ダミー用のモニタを定義する Section "Monitor" Identifier "DummyMonitor0" EndSection # 使用するGPUとモニタを関連付けする Section "Screen" Identifier "Screen0" DefaultDepth 24 Device "X11VncGgraphics0" Monitor "DummyMonitor0" SubSection "Display" Depth 24 # 仮想スクリーンサイズ。お好きな大きさに。 Virtual 1280 720 EndSubSection EndSection
Section "Device" のGPU設定ですが、GPUの環境やドライバによっては Driver や BusID の項目はなくても大丈夫な時もありますし、使用している環境によって異なるので気を付けてください。FreeBSDなら pciconf -lv 、Linuxなら lspci で調べることができます。
また Identifier につける名前は管理しやすい名前で自由につけて構いません("Screen0" だけは固定のままにしておいたほうが良いです)。
これでモニタを接続しなくてもXが起動するようになります。
あとはlightdmなどのグラフィカルログインマネージャをインストールして自動起動するようにしておけばPC起動時に自動的にheadlessでXが起動するようになります。
x11vncを自動起動する
lightdmをインストールしているならlightdmのVNCServerの機能を使っても良いのですが、ここはx11vncを使ってVNCServerを起動してみます。違いについては下記のマトリックスを参考。
機能 | 切断時 | メリット |
---|---|---|
lightdm vncserver連動 | ログアウト | 毎回ユーザーIDとパスワードを求められるので安全 |
x11vnc server自動起動 | 何もしない | VNCを閉じても作業が中断されない |
FreeBSD
Install
portsからインストールしても良いのですが時間短縮のためバイナリインストール。rootで作業します。
pkg install x11vnc
Startup script
次にスタートアップスクリプトを書きます。/usr/local/etc/rc.d/x11vnc というファイルを作成し、下記の内容を書いてください。また、chmod +x で実行権限も付け加えておくように。
#!/bin/sh # $ FreeBSD $ 2019/12/30 Isaponsoft(Isao Shibuya) # # PROVIDE: x11vnc # REQUIRE: LOGIN cleanvar moused syscons dbus lightdm # KEYWORD: shutdown # . /etc/rc.subr export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin name="x11vnc" rcvar=x11vnc_enable load_rc_config $name : ${x11vnc_enable:="NO"} : ${x11vnc_logfile="/dev/null"} : ${x11vnc_port="5900"} : ${x11vnc_display=":0"} : ${x11vnc_authfile="/usr/local/etc/x11vnc.passwd"} command="/usr/local/bin/${name}" command_args="-auth guess -display ${x11vnc_display} -rfbport ${x11vnc_port} -forever -loop -noxdamage -repeat -rfbauth ${x11vnc_authfile} > ${x11vnc_logfile} 2>&1 &" run_rc_command "$1"
ちょっとしたポイントなのですが、6行目が以下のようになっていますが、最後に書いてある lightdm がポイントです。この行は「このサービスを開始するにあたりどのサービスに依存しているのか」というのを指定している行です。つまり、ここに lightdm が必要であることを書き加えると、lightdm が存在する場合は lightdm より後に起動するようにスケジューリングしてくれます。
REQUIRE: LOGIN cleanvar moused syscons dbus lightdm
Service の登録と開始
あとはVNCのパスワードを設定し、先ほどのスクリプトを起動するように指定します。/etc/rc.conf に x11_enable="YES" と書き加えれば良いのですが、serviceコマンドをを使うとこのあたりを簡単に行うことができます。
x11vnc -storepasswd /usr/local/etc/x11vnc.passwd service x11vnc enable service x11vnc start
Service の設定
さきに作ったStartupスクリプトはrc.conf(もちろんrc.conf.localもOK)に次のような設定を書くことでポート番号やログファイル、パスワードファイルを変更できます。
x11vnc_logfile="/mylogs/x11vnc.log" x11vnc_port="5999" x11vnc_display=":1" x11vnc_authfile="/root/.vnc/passwd"
Ubuntu
Install
まずはインストール。
sudo apt install x11vnc
Startup script
StartupScript を /etc/systemd/system/x11vnc.service に追加します。ファイルを作成し、以下の内容を記載してください。7行のパスワードファイルの部分は自分で作成したパスワードファイルのパスを書いてください。
[Unit] Description=x11vnc (Remote access) After=network-online.target [Service] Type=simple ExecStart=/usr/bin/x11vnc -auth guess -display :0 -rfbauth VNCパスワードファイル -rfbport 5900 -forever -loop -noxdamage -repeat -shared ExecStop=/bin/kill -TERM $MAINPID ExecReload=/bin/kill -HUP $MAINPID KillMode=control-group Restart=on-failure [Install] WantedBy=graphical.target
Service の登録と開始
パスワードファイルを作成し、x11vncをサービスとして登録&起動します。
sudo x11vnc -storepasswd VNCパスワードファイル sudo systemctl daemon-reload sudo systemctl enable x11vnc sudo systemctl start x11vnc
ある意味究極のヘッドレス化
今回はあくまでも仮想スクリーンを使いましたが、下記のような仮想ディスプレイというハードウェアを使うのもありです。
HDMI Display Emulator 仮想コネクタ幻影ディスプレイエミュレーターDDC EDIDエミュレーター、偽エミュレータ(fit Headless 4K @ 60Hz)
- 出版社/メーカー: FUERAN
- メディア: エレクトロニクス
[FreeBSD/Linux] GPU Driver Install - グラフィックスカードをインストール
自分用メモ。変更や追記があればこのページを更新します。 % で始まる行はコマンド入力、# で始まる行は説明文になっています。そうでない行はコマンドの出力結果の例を示します。
共通
GPUを使いたいユーザーを video グループに追加しておく必要があります。
FreeBSD 12
AMD
drrm-kmodの中のamdgpuとradeonkmsという二つのドライバのどちらかを使います。前者はRADEON7000より新しいもの、後者はRADEON7000までのもの。なお、最新のGPUはドライバが対応していないことがあるので注意。
% pkg install xorg drm-kmod % ee /boot/loader.conf # loader.confに以下の1行を追加(※1) hw.syscons.disable=1 % ee /etc/rc.conf # rc.conf に以下の3行を追加 kld_list="/boot/modules/amdgpu.ko /boot/modules/radeonkms.ko" % reboot
再起動後に nvidia-smi を呼び出すとドライバが動いているか確認できます。
※1) ドライバがロードされるまでコンソール画面が更新されなくなります。トラブルが発生したらブート画面でEscape to loader promptを選び、hw.syscons.disableを無効化してから起動してください。
Intel
drrm-kmodの中のi915kmsというドライバを使います。たぶん一番素直に動きます。
% pkg install xorg drm-kmod % ee /boot/loader.conf % ee /etc/rc.conf # rc.conf に以下の3行を追加 kld_list="/boot/modules/i915kms.ko" % reboot
nVidia
nVidiaからFreeBSD用のドライバが出ているのでそれを使います。でもVulkanは使えません(2019年12月現在)。
% pkg install xog nvidia-driver % ee /etc/rc.conf # rc.conf に以下の3行を追加 kld_list="/boot/modules/nvidia.ko /boot/modules/nvidia-modeset.ko" nvidia_name="nvidia" nvidia_modeset_name="nvidia-modeset" % reboot
Ubuntu 18
nVidia
nVidiaのリポジトリからダウンロードできます。
% sudo add-apt-repository ppa:graphics-drivers/ppa % sudo apt update # 利用可能なドライバのバージョンを取得します % ubuntu-drivers devices == /sys/devices/pci0000:00/0000:00:01.1/0000:01:00.0 == modalias : pci:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx vendor : NVIDIA Corporation model : XXX [GeForce YYYY] driver : nvidia-340 - distro non-free driver : nvidia-driver-440 - third-party free recommended driver : nvidia-driver-410 - third-party free driver : nvidia-driver-435 - distro non-free driver : nvidia-driver-390 - third-party free driver : nvidia-driver-430 - third-party free driver : nvidia-driver-415 - third-party free driver : xserver-xorg-video-nouveau - distro free builtin # 440のところは使用したいドライバのバージョンを指定します。 # 一番上に出ているのが推奨ドライバですが、新しいのを使ってみます。 % sudo apt install nvidia-driver-440 % sudo reboot
再起動後に nvidia-smi を呼び出すとドライバが動いているか確認できます。
I love FreeBSD.
おすすめ
動作確認におすすめ。とりあえず映ればいいんだ!的な。
玄人志向 グラフィックボード NVIDIA GeForce GTX750Ti PCI-Ex16 LowProfile 2GB 補助電源なし GF-GTX750TI-LE2GHD
- 発売日: 2014/02/19
- メディア: Personal Computers
玄人志向 グラフィックボード NVIDIA GeForce GTX750 PCI-Ex16 LowProfile 1GB 補助電源なし GF-GTX750-LE1GHD
- 発売日: 2014/02/19
- メディア: Personal Computers
Windows Terminal の使い方まとめ(2019/12/17)
自分用の覚書としてWindows Terminal の使い方をまとめています。気が付いたところから追記します。あとアマゾンでお買い物をするときは右のメニューから飛んで行ってからお買い物をしてくれると、ほんのり広告代が入り、後進の励みになりますのでよろしくお願いします。
プロファイルの変更
コマンドを追加する
"profiles" に新しいプロファイルを追加し、"commandline" に起動したいコマンドを記述。例えばVisualC++を追加する場合はこんな感じ。 "startingDirectory"は無くてもOKですが、指定しておくとコマンド起動時にカレントディレクトリを変更してくれます。"guid"にはほかのプロファイルと被らないテキトーな値を設定します。ほかのプロファイルからコピーして1文字変えるだけでもOKです。
{ "guid": "{てきとーな値}", "hidden": false, "name": "VisualC++(x64Native)", "commandline" : "cmd.exe C:\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs\\Visual Studio 2019\\Visual Studio Tools\\VC\\x64 Native Tools Command Prompt for VS 2019", "startingDirectory" : "d:\\myproject" },
フォントを変える
"fontFace" を追加し、フォント名を書きます。文字の大きさを変える場合は "fontSize" を追加します。省略時は 12 になるようです。 例えばMSゴシックに変更する場合は以下のように。MSゴシックをアンチエリアス無しで使用するのが一番目が疲れないような気がしてます(個人的感想)。
{ "guid": "{てきとーな値}", "hidden": false, "fontFace" : "MS Gothic", "fontSize" : 12, "name": "Ubuntu", "source": "Windows.Terminal.Wsl" },
アイコンを設定する
"icon" に認識可能なアイコンのリソース名を入力します。ファイル名でもOK。
{ "guid": "{てきとーな値}", "hidden": false, "name": "Ubuntu", "source": "Windows.Terminal.Wsl", "icon" : "ms-appx:///ProfileIcons/{0caa0dad-35be-5f56-a8ff-afceeeaa6101}.png", },
背景を透明にする
"useAcrylic" を追加する。透明度は"acrylicOpacity" で0.0~1.0で変更できます。
{ "guid": "{てきとーな値}", "hidden": false, "name": "Ubuntu", "source": "Windows.Terminal.Wsl", "useAcrylic" : true, "acrylicOpacity" : 0.5 },
色の設定
色を変更する場合 schemes に色の設定を追加し、プロファイルからどの色設定を使うのかを指定する方法とプロファイルに直接書く方法があります。
プロファイルに直接書く場合
"background" を追加し、色コードを書きます。例えば真っ白にする場合はこんな感じ。
{ "guid": "{てきとーな値}", "hidden": false, "name": "Ubuntu", "source": "Windows.Terminal.Wsl", "background" : "#ffffff" }
スキームを使う場合
"schemes" にこんな感じで設定を追加します。複数追加可能です。 "name"には色設定の名前を任意で指定できます。ちなみに "Campbell" はデフォルトの色設定なので、nameを Campbell にするとデフォルトの色を変更できます。
"schemes": [ { "name" : "Campbell", "background" : "#000000", "black" : "#0C0C0C", "blue" : "#0037DA", "brightBlack" : "#767676", "brightBlue" : "#3B78FF", "brightCyan" : "#61D6D6", "brightGreen" : "#16C60C", "brightPurple" : "#B4009E", "brightRed" : "#E74856", "brightWhite" : "#F2F2F2", "brightYellow" : "#F9F1A5", "cyan" : "#3A96DD", "foreground" : "#F2F2F2", "green" : "#13A10E", "purple" : "#881798", "red" : "#C50F1F", "white" : "#CCCCCC", "yellow" : "#C19C00" } ],
スキームをプロファイルに反映させる
プロファイルに "colorScheme" という項目を追加し、schemesで追加したカラースキームの"name"の値を指定します。
{ "guid": "{てきとーな値}", "hidden": false, "name": "Ubuntu", "source": "Windows.Terminal.Wsl", "colorScheme" : "Campbell" }
パソコンの防塵フィルターを洗濯しよう
先日パソコンの汚れ切った防塵フィルターを洗濯しました。意外と防塵フィルターの洗濯方法を知らない人が多いようなので簡単解説。フィルターを掃除するとパソコンの寿命&性能が改善するよ!
これが洗濯前の汚れ切った防塵フィルター。撮影のためにパソコンから取り外した時にこんもりと積もっていた埃が落ちてしまったのだけど、それでもこの汚れっぷりです。
そしてこちらが洗濯したあとのフィルター。すっかり元通り。よーく見るとファンガードの跡がうっすら残っています。
洗濯方法
すごーく簡単。
外したフィルターを水の入った桶などで軽く揉み洗いするだけです。
ヤニなどでちょっとベタつくなーと思ったら、揉み洗いで大きな汚れを軽く取り除いた後に重曹を溶かしたぬるま湯へ1時間ほど浸けておくと良いです。
汚れ具合によるけどかなり埃が出てくるので、2~3回水を替えながら洗うと汚れを落としやすいのでお勧めです。
汚れを落としたら、洗濯ばさみなどで端っこをつまんで風通しの良いところで干しておきます。早く乾かしたいなら扇風機や空気清浄機の風を当ててあげると良いです。
やったらダメなこと
これは結構やっちゃってる人もいると思うけど、いくつかNGな事があります。
エアダスターで吹き付ける
表面についた大きな埃は多少取れますが、それ以上の埃を取る効果がほとんど期待できません。
単にエアダスターを消費するだけなのでかなり無駄な行為になってしまいます。
仮に埃が取れてもあたりに飛び散るので避けたい。
掃除機で吸い取る
これも表面についた大きな埃なら多少取れますが、目に詰まったものは取れません。
また、吸引力を上げるとフィルターの目が潰れてしまったりするのでやらないこと。
それどころか大体の場合はフィルターが掃除機に吸い込まれて、掃除機を詰まらせてしまうという悲劇に襲われます。
洗濯機で洗う・強く揉む
フィルターなんて偉そうに言っているけど、細い繊維が荒く絡み合ってるだけの脆い布切れみたいなもんなので、優しく扱ってあげましょう。
洗濯機を使うと洗濯機の中が埃まみれになる他、フィルターがちぎれたりします。
揉むときも強く揉みすぎるとやっぱりフィルターが潰れたりします。とは言っても、相当強く揉むことなんてないと思うけど。
濡れたままPCに装着する
PCの中が錆びるよ!電気がショートするよ!
しっかり乾かしてから使いましょう。
フィルターがダメになったときは
変えのフィルターがあると洗濯中でもパソコンがメンテナンスできるので便利。
自分のパソコンのファンの大きさがわからないときは大きな奴を買って、自分のパソコンに合わせてハサミでカットしてもOK
AINEX 交換用フィルター [ 大判シート ] CFF-DF270A
- 発売日: 2015/05/29
- メディア: Personal Computers
AINEX ファンフィルター [ 120mm用 ] CFF-120ZA
- 発売日: 2015/05/29
- メディア: Personal Computers
AINEX 交換用フィルター [ 120mm用 ] CFF-DF120A
- 発売日: 2015/05/29
- メディア: Personal Computers
ダイソーの100円LANケーブルを試してみた
ことの発端
年末ということで大掃除用の消耗品を近くのダイソーに行って補充してきました。そこで見かけたのが「LANケーブル」。今やダイソーでLANケーブルも売っているのか…!?とちょっと驚き。まぁそうだよね、今や家でLANケーブルを使うなんて珍しいもんでもないもんなぁ。
そういや、先日PCのパーツがいくつかお亡くなりになって交換をしたさいにパソコン回りのケーブルを少し整理したのだけど、近い場所でも5mのLANケーブルを使っているのを思い出した。そういや、引っ越す前は長いLANケーブルを使う配置だったので、短いLANケーブルってあんま持っていなかったなぁ。
と、そんなことを思い出したのでちょっと物は試しにダイソーのLANケーブル(1m)を買ってみた。まぁ税込みでも110円だし。使えるならめっけもんだ。
というわけでどの程度使えるのか計測してみる
100円だけどLANケーブルはカテゴリー6(1Gbps対応の品質)になっているので普通に使う分には十分。さらに高品質のカテゴリー7や8は1Gbpsよりも高速なネットワーク対応になるのだが対応ハードウェアも含めてまだまだお値段高め。とりあえず一般家庭で使うなら十分ということ。
比較対象
可もなく不可もないといった感じのフラットケーブル。パッケージも含めてシンプルで割と好き。ただ1色しかないのだけが難点(接続先で色を分けておくとあとでメンテナンスしやすいので)。とは言え1mなら色分けしなくてもわかるからいいか。
今まで使っていたサンワサプライの5m極細ケーブル。一般的なケーブルよりかなり細いケーブル。ちょっと割高感はあるけどとても頑丈で椅子で踏んずけても大丈夫。会社など不特定多数の人がいる環境ではこの頑丈さがありがたい。
テスト方法と環境
NASに対してCrystalDiskMarkでベンチマークを取り、ベンチマークにどれだけ影響が出るかを調べる。
ネットワーク環境はこんな感じ。今回はスループット(どれだけ速度が出るか)ではなくケーブルを変えると速度にどれくらいの影響があるのかを見たいので、直接続ではなく実利用に近い構成にしています。ちなみにNASとYAMAHAのルーターは0.5mで数千円するLANケーブル2本でつないでいます。バッファローのスイッチングハブは3000円くらいの安いやつです。
この構成で、緑のライン(ハブとPC)を好感して計測してみます。
計測してみる
まずはサンワサプライ。
読み込みが117Mバイトくらい出ているので、おおむね1Gbpsに近い速度が出ています。ハブとルーターも含めてかなり優秀な結果。※右下のランダムライトについては計測中の値なので気にしないこと!
そしてダイソー。期待はしていないが期待しているぞ!
こちらも117Mバイトくらい出ている。全体的にみると気持ち早くなっている気もするけどその時のNASの状態にもよるだろうレベルの誤差の範囲。
結果
ダイソーのLANケーブルは十分な性能が出る!100円ということを考えるとむしろ相当優秀だ!
デメリット
デメリットは何かというと、ケーブルの長さの種類が少なかったり色の選択肢がないことかなーと。事務所で配線をするときは例えばルーターとハブは黄色、ハブとハブは赤、パソコンとハブは青というように色分けするとメンテナンスしやすかったりするので、事務所で使うならそのあたりの選択肢が多いパソコン周辺メーカーのものを使ったほうが良いかなーというのが個人的な感想。
おすすめ
BUFFALO Giga対応 金属筐体 電源内蔵 5ポート LSW6-GT-5NS/BK ブラック スイッチングハブ マグネット 壁掛け設置対応
- 発売日: 2019/04/17
- メディア: Personal Computers
BUFFALO Giga対応 プラスチック筐体 AC電源 5ポート ブラック スイッチングハブ ローコスト版 LSW4-GT-5EPL/BK
- 発売日: 2015/08/28
- メディア: Personal Computers