
私はいくつかの古いWindowsアプリケーションを実行するためにLinuxサーバー上でWineを実行しています。
これで、スクリプトが実行されていることを確認するスクリプトを作成する必要があります。
サーバーへのSSH接続を作成してアプリケーションを起動できますか?
たとえば、私がデスクトップにいる場合は、ターミナルウィンドウを開き、次を実行します。
wine "Z:\home\user\Desktop\application"
アプリケーションが開きます。しかし、SSH経由で接続して実行すると
wine "Z:\home\user\Desktop\application"
私は得る:
Application tried to create a window, but no driver could be loaded.
Make sure that your X server is running and that $DISPLAY is set correctly.
err:systray:initialize_systray Could not create tray window
Application tried to create a window, but no driver could be loaded.
Make sure that your X server is running and that $DISPLAY is set correctly.
私の考えでは、それを言わなければならないと思います。どこただ実行するのではなくアプリケーションを起動しましたが、どのように実行するのかわかりませんか?
追加情報:
私は現在Windows PCで作業しており、Puttyを使用してLinux / Wineサーバーに接続しています。 (デスクトップを見るためのRDP接続もあります。)
長期的には、このスクリプトを Linux/Wine サーバーに SSH で接続し、管理する他の Linux サーバー (MgmtSrv) で実行します。 MgmtSrvはWineをインストールせず、X-Displayを設定しませんでした。
答え1
お分かりのように、Wineにアプリケーションを表示する場所を教えてください。 WineサーバーにはXモニターがあるため、次のようになります:0
。
DISPLAY=:0 wine ...
これは問題を解決します(X認証Cookieが大丈夫であると仮定し、そうでない場合はInvalid MIT-MAGIC-COOKIE
エラーメッセージが表示されます)。
答え2
アプリケーションの種類に応じて、次のアプローチをとることができます。
- アプリケーションがコンソールベース(グラフィックなし)の場合は、以下を使用してください。
wineconsole
(いいえwine
)。 DISPLAY
Xサーバーがインストールされている場合は、正しい画面を指すように変数を指定する必要があります。- 次のようにアプリケーションを実行したい場合X11配信、構成
X11Forwarding
SSH設定で。 - グラフィックプログラムをヘッドレスで実行する場合は、インストールを検討してください。X仮想フレームバッファ。
答え3
一般ユーザーとしてログインすると、この問題を解決できます。
質問:
/root *# wine .....
問題を解決してください:
/root # exit
解決策:
/normal_user> ./wine yourappname OR ./wine64 yourappname