Wineは不思議なことに動作を停止しました。 wineを完全に削除して再インストールすることにしましたが、これを行う前に、過去にWineに保存してインストールした多数のファイルやプログラムが失われないようにしたいと思います。
「drive_c」と「dosdevices」を.wine foider内でバックアップし、その後.wineディレクトリを完全に削除して(rm -rf〜/ .wine)、wineを再度インストールし、バックアップしたフォルダーをディレクトリ?プログラムを正常に実行できますか?
また、私はすでにこれを書いているので、Wineの何が問題だったかについて知っていることを追加することもできます。
Ubuntu 12.04を使用しています。 Wineは約1週間前に正常に機能し、神秘的に機能しなくなりました。
Winecfg.exeを実行すると、プロセスは(topコマンドに従って)実行されますが、画面に何も表示されません。 CPUの1つを100%占有するだけです。 Winetricksを実行するか、wineで.exeプログラムを実行しようとすると、まったく同じことが起こります。プロセスが一番上に表示され、CPUを占有しますが、何も起こりません。
ターミナルを介してワインを実行すると、結果は次のようになります。
user@computer:~/Downloads/SpaceEngine 0.97/system$ wine SpaceEngine.exe
modify_ldt: Invalid argument
modify_ldt: Invalid argument
modify_ldt: Invalid argument
modify_ldt: Invalid argument
modify_ldt: Invalid argument
err:seh:raise_exception Exception frame is not in stack limits => unable to dispatch exception.
私はワインを更新しようとしましたが、それは何もしませんでした。そのため、インストールを消去してもう一度やり直してください。それでは、データを失わないようにするにはどうすればよいですか?
それを私が直した。何が悪かったのかわかりませんが、.wineディレクトリ全体をバックアップとしてコピーアンドペーストしました。次に、.wineディレクトリ全体を削除し、wineを再インストールし、drive_cおよびdosdevicesフォルダーのみに戻しました。
うまくいきました!
これらの答えのいずれかが私の問題に関連しているかどうか、または私がそれらを試してみれば助けになるかどうかはわかりませんが、私がやったことはうまくいきました。
バックアップして再インストールするだけです。
Ubuntu 12.04.4 LTS x86_64と3.11.0-24-genericカーネル、wine-1.7.18を使用しています。 echo 1 > /proc/sys/abi/ldt16
行の前に/etc/rc.local
にexit 0
を追加して、この問題を解決しました。再起動後、win16プログラムをインストールできます。
おそらく、最近更新された64ビットLinuxカーネルで16ビットWindows実行可能ファイルを実行しようとしている可能性があります。
セキュリティの問題のため、64ビットLinuxシステムで 16ビットセグメントが中断されました のサポート。
この問題は最近広範囲に WineHQフォーラムで議論されました で、 バグとして報告されました です。
現時点では、フェイルプルーフの回避策はありません。 wineまたはkernelの更新を待つ必要があります。
それにもかかわらず、32ビットLinuxシステムは影響を受けません。
単に実行する
$ echo 1 > /proc/sys/abi/ldt16
その後、ワインを介してアプリケーションを起動します。これにより、カーネルで16ビットサポートが一時的に有効になります。