0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

VSCodeのRemoteSSHでX11転送できない! (macOS)

Last updated at Posted at 2020-09-21

はじめに

  • サーバ側のコードをいじるのにVimを使わなくても良いようにしたかったのでVSCodeのRemoteSSHを使おうとした時の話です。
  • Terminal等からSSHは正常に接続でき、X11転送も問題なくできている前提の話です。
  • 力技で解決したので、知見やベストプラクティスがあればご教授いただきたいです!
  • めんどくさいのでX11に関してはVSCodeを使わないことにしました。

追記2020/12/19

RemoteSSHのバージョンを0.49にダウングレードしたらX11転送してくれました!めでたしめでたし

困ったこと: リモート側のグラフをローカルに表示したいのにX11転送されない!

例えば、gnuplotを描画してみると...

Terminal type set to 'qt'
gnuplot> p sin(x)
QXcbConnection: Could not connect to display localhost:10.0
Could not connect to existing gnuplot_qt. Starting a new one.
QXcbConnection: Could not connect to display localhost:10.0

Warning: slow font initializationgnuplot> 

となり、出力されません。これは困りました...
研究で使用しているので、グラフが見れないと全く使い物になりません。

結論: TerminalからもSSHし、VSCodeからのSSHでDISPLAY変数を合わせる

非常にめんどくさいですが、DISPLAY変数を通常のSSHに無理やり合わせましょう。
DISPLAY変数はSSHを繋いだ順に登録されるので、

  1. VSCode: localhost:10.0
  2. Terminal: localhost:11.0
    のようになっているはずです。逆の順で繋げば逆になると思います。
    なので、VSCodeTerminalで
export DISPLAY=localhost:11.0

とすると正しくX11転送されます。
.bashrcにexportを書いておき、毎回正しく繋げばexportする必要はないと思いますが、ズレるしそんなのに気を使うのはちょっとアホらしい...
スクリーンショット 2020-09-21 12.46.54.png

おわりに

VSCodeからグラフの描画をするのはめんど〜くさいので、描画だけTerminal上でバックグラウンド立ち上げしておくのが良いと思いました。
こうすればできるよ!等ありましたら教えていただけると嬉しいです。。。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?