投稿

5月, 2020の投稿を表示しています

Linux kernel のコードをパッチレベルを指定して入手

URL を覚えていて手癖で簡単に入力できるという理由で Linux kernel を手元に持ってくるときにはよく git clone https://github.com/torvalds/linux.git をしてしまうのだが,ここで git checkout をマイナーバージョンまでではなくパッチバージョンまでのレベルで指定しようとすると,そのようなタグはないと言われる。 error: pathspec 'v4.1.8' did not match any file(s) known to gitこれは GitHub にあるミラーレポジトリはリリース候補のタグしか置いてないためで,kernel.org にある linux-stable の Git レポジトリを利用しないとパッチバージョンのタグが打たれていない。 git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linu.git このレポジトリを利用すれば,パッチバージョンでの変化や歴史を Git で追いたいときに便利だ。 $ git checkout v4.1.8 HEAD is now at 36311a9ec490 Linux 4.1.8もっとも,Git の機能を利用せずコードを読むだけなら tarball をダウンロードするほうが手っ取り早い。 curl -LO https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.1.8.tar.xz

素の Windows からリモートホストの macOS や Linux にクリップボードのテキストを流す

PowerShell で次を実行$OutputEncoding = [Console]::OutputEncoding Get-Clipboard -Format Text | ssh macOS_host "iconv -f sjis -t utf8 | pbcopy" Get-Clipboard -Format Text | ssh Linux_host "iconv -f sjis -t utf8 | xsel --clipboard --input"上記のコマンドで,リモートの macOS ホストと Linux ホストそれぞれのクリップボードにローカルのクリップボードのテキストが転送されます。最初のほうで OutputEncoding を上書きしているのは,これをしないと Get-Clipboard コマンドレットの出力が us-ascii でエンコードされるので,クリップボードの中身が日本語だと化けます。ちなみに ASCII のテキストなら Get-Clipboard -Format Text | ssh macOS_host "pbcopy" だけで済む。逆に,macOS や Linux のホストのクリップボードを手元に持ってきたいときは,macOS なら pbpaste,Linux なら xsel --clipboard --output を使ってください。あと言わないでもわかることだとは思うけど,PowerShell の Get-Clipboard/Set-Clipboard コマンドレットや macOS の pbcopy/pbpaste コマンドはデフォルトで使えますが Linux の xsel コマンドは自分でインストールしなくても必ず存在するとは限りません。ちなみに,とくに Windows ホストに外部コマンドをインストールしてはいけない縛りとかないのなら,win32yank を導入するのはオススメ。

Oculus Quest と Virtual Desktop でモニタが一枚しかない部屋でマルチモニタを実現したい

イメージ
前提VR HMDで VR 空間に埋没してかっこいい空間を広々使ってお仕事したい現実世界の PC がモニタ 1 枚しかない画面出力端子を適当なドングルで埋めて fake monitor を召喚する手もあるがソフトウェアで解決したいところどういうことなのか実は去年末に Oculus Quest を購入していました。そのうち記事にするかも。それはそれとして,Oculus Quest を買ったのは『狼と香辛料 VR』が気になってた,というのと,サイバーパンクでありがちな,半透明のウィンドウが自分を取りかこむようにぶわーっと浮いて広がってるやつ,あれをやりたいという理由でした。みなさんお気付きかと思いますが,後者の目的なら HoloLens とか買うほうが実現しやすいとは思います。でも高い。しかし Oculus Quest はスタンドアローンで 6DoF なワリには安い。それに Oculus Go を買うぞ買うぞと言い続けて結局 Oculus Quest 開発中の発表を見てしまったので,発売したら絶対買うぞ!と思ってました。それでいい加減に腹決めて買ったのが去年末。で,VR 世界でデスクトップ環境を実現する方法はいくつかあります。たとえば私の理想に近いのは Linux のデスクトップ環境である SimuraVR でしょう。しかしこれは HTC Vive か Vavle Index あたりでしか利用できないようです。Oculus Rift S なら OpenXR に対応しているので,かろうじて使えるようですが,Oculus Quest は PCVR に対応しているとは言えども Oculus Link が必要で,この Oculus Link は Windows の Oculus ランタイムアプリに依存しています。血も涙もない。故に Oclus Link+Virtual Desktop で,なんとかマルチモニターを仮想的に実現して気分を良くしたかったのでした。やりかたハードウェア素直にやるなら,ハードウェアでごまかすことが手っ取り早いです。有名な手段としては,GPU の DP 端子に DP→VGA 変換器を取り付けて,Dsub 15-pin の VGA 端子,これの 2-pin と 7-pin を 102Ω 抵抗で結線します。こうするとモニタが接続されていると誤認識されるのです。…