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?

外部からSSH接続すると nvidia-smi コマンドが使えない【WSL2】

Last updated at Posted at 2025-09-16

環境

Windows Windows 11 Pro 24H2
WSLのOS Ubuntu noble 24.04

症状

ローカル(ターミナルやVSCode上でのSSH接続)では nvidia-smi コマンドが使えていたのだが、外部からWSLにSSH接続したときだけ使えなかった。

nvidia-smiコマンドの仕組み

どうやらWSLでnvidia-smiを実行すると、Windows側にインストールされているexe形式の実行ファイル nvidia-smi.exe を呼び出すようだ。

(本来Ubuntuからexeファイルを直接実行できるはずもないが、WSLでは interop という仕組みでうまく実行できるようにしているそうだ。)

なのでWSL上で

/mnt/c/Windows/System32/nvidia-smi.exe

を実行すると nvidia-smi コマンドを使ったときと同じことが起こるはず。

SSHログイン時に機能しない原因

WSLにはWindows側のPATHを自動でWSLのPATHに付け足す機能があるらしい。(参考)これによって nvidia-smi コマンドが使えている。

外部からSSHでWSLにログインしたとき、Windows側のPATHをうまく取り込めていなかったようだ。

対処

シェルへログインしたときにエイリアスを設定する。

nvidia-smi コマンドが機能しているときにエイリアスを設定してしまうと干渉してしまう。なのでコマンドが認識されないときだけエイリアスを設定するようにしている。

以下を ~/.bash_rc の末尾に追記する。

~/.bash_rc
# nvidia-smiコマンドが認識されないときだけエイリアスを設定して使えるようにする
if ! command -v nvidia-smi >/dev/null 2>&1; then
  alias nvidia-smi='/mnt/c/Windows/System32/nvidia-smi.exe'
fi

nvidia-smi.exe のインストールパスは各自の環境に合わせてください。自分はWindows上でファイルエクスプローラーを使って探しました。

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?