私は自分のコンピュータ上の 2 人のユーザー間で wineprefix を共有し、両方のユーザーがそこにインストールされている Windows プログラムを実行できるようにしたいと考えています。そのためには、wineprefix を /usr/share に移動し、両方のユーザーに共通のグループを作成し、wineprefix とそのすべてのファイルのグループをそのグループに設定しました。
しかし、他のユーザーとしてその wineprefix からプログラムを実行しようとすると、wine から「あなたは所有者ではありません」というエラー メッセージが表示されるだけでした。
私の知る限り、これは Wine プログラムを root として実行することを防ぐための「設計」です。
私の目標を達成する方法はありますか? 注意: wineprefix を共有したいのであって、複数のコピーを作成したいのではありません。
答え1
このトピックについては、以下のフォーラムトピックですでに議論されています。
http://ubuntuforums.org/showthread.php?t=917422
おそらく、これは要件の設定に役立つでしょう。
答え2
これは古くからある質問だとはわかっていますが、私にはもっとシンプルで良い解決策があると思います。
Wine は、wine プレフィックスの最上位ディレクトリを所有しているかどうかのみをチェックします。したがって、新しいディレクトリを作成し、そのディレクトリで共有したい wineprefix のすべてのコンテンツへのシンボリック リンクを配置するだけで済みます。
私がお勧めするのはこれです:
ユーザーを作成します。名前はwineuserとします。
sudo adduser wineuser
wineuserとしてログイン
- ワインのプレフィックスを作成する
winecfg
64ビットプレフィックスの場合、または
WINEARCH=win32 winecfg
32 ビットのプレフィックスの場合。
wineプレフィックスの権限を変更して、wineuserグループの全員が読み取りおよび書き込みできるようにします。
chmod -R 770 /home/wineuser/.wine
各ユーザーを wineuser グループに追加し、wine プレフィックスへのアクセス ポイントとして機能するリンクのディレクトリを作成する必要があります。ユーザー emily の場合は、次のコマンドを実行します。
mkdir /home/emily/.wineshared sudo adduser emily wineuser cd /home/wineuser/.wine for object in `ls /home/wineuser/.wine`; do ln -s -T /home/wineuser/.wine/$object /home/emily/.wineshared/$object; done
これで完了です。Emily は WINEPREFIX=~/.wineshared を使用して共有 wineprefix でプログラムを実行できるようになりました。