WindowsのSamba経由でLinuxでプログラムを実行するには、ダブルクリックしてください。

WindowsのSamba経由でLinuxでプログラムを実行するには、ダブルクリックしてください。

私はこのようなSambaアクセス権を持つローカルユーザーアカウントを持つサーバーを持っています。

\\myserverホームディレクトリに移動します。

Linuxの指定されたSamba共有フォルダにファイルがあり、startvncsession.xユーザーがSSHを介してLinuxサーバーに接続しなくてもマウスですべての操作を実行できるようにしたいです。 Sambaウィンドウを開く - exeファイルをダブルクリックすると、対応するvncserverLinuxサーバーのコマンドラインから実行されるコマンドです。

そのようなことは可能ですか?では、どうすれば可能ですか?

現在この問題を引き起こすCコードがありますが、dcv create-session <username>ユーザーはLinuxコマンドラインにputtyと入力してstartvncsession.xputtyを終了する必要があります。多くのユーザーはLinuxを知らず、マウスをクリックするだけですべてのことを行い、入力する内容を覚えておく必要はありません。

ベストアンサー1

問題は、サーバー上のすべてのスクリプトまたはプログラムが、ユーザーが説明する方法でアクセスすると、ユーザーのローカルコンピュータで実行されることです。

考えられる解決策の1つは、説明している現在のプロセス(ユーザーがPuTTYを介して接続し、プログラムを実行してからログアウト)に基づいて、プロセスをユーザーのローカルシステムで実行されるスクリプトに自動化することです。すでにPuTTYがインストールされているので、これを行う1つの方法はPlinkを使用することです。 (Plinkのドキュメントを探すここ)Plinkを使用すると、LinuxでSSHクライアントを使用しているかのようにSSHセッションを開始し、コマンドラインからコマンドを実行できます。次の内容でバッチスクリプト(.bat)を作成し、必要に応じて変数の値を変更することを検討してください。

@ECHO OFF
SET ssh_server=192.168.0.100
SET ssh_user=ron
SET ssh_pass=mynameisron
SET putty_path="C:\Program Files\PuTTY"
SET ssh_cmd="startvncsession.x"
%putty_path%\plink.exe -no-antispoof -ssh -pw %ssh_pass% %ssh_user%@%ssh_server% %ssh-cmd%

最初に実行すると、キャッシュにキーを追加するように求められますが、それ以降の実行ではメッセージは表示されません。

最大の問題は、ユーザーの資格情報がスクリプト内にプレーンテキストとして保存されることです。この問題を解決するには、次のようにパスワード変数とパラメータを削除してユーザー名を保持します。

@ECHO OFF
SET ssh_server=192.168.0.100
SET ssh_user=ron
SET putty_path="C:\Program Files\PuTTY"
SET ssh_cmd="startvncsession.x"
%putty_path%\plink.exe -no-antispoof -ssh %ssh_user%@%ssh_server% %ssh-cmd%

上記のコマンドを実行すると、毎回ユーザーにパスワードの入力を求められます。または、公開鍵認証を設定することもできます(上記にリンクされているマニュアルを参照)。

すべてのユーザーがより一般的に使用できるようにするには、次のようにユーザー変数とパラメータを削除します。

@ECHO OFF
SET ssh_server=192.168.0.100
SET putty_path="C:\Program Files\PuTTY"
SET ssh_cmd="startvncsession.x"
%putty_path%\plink.exe -no-antispoof -ssh %ssh_server% %ssh-cmd%

このスクリプトを使用すると、ユーザーにユーザー名とパスワードの入力を求められます。

おすすめ記事