今夜も Wine で乾杯! - 22本目
■ このスレッドは過去ログ倉庫に格納されています
Linux上でWindowsのアプリを動作させるソフトウェア Wineに関する情報交換スレ。 前スレ 今夜も Wine で乾杯! - 21本目 http://mao.5ch.net/test/read.cgi/linux/1502540295/ Wine本家 http://www.winehq.org/ http://wiki.winehq.org/ 動作報告Wikiや過去ログなど http://www.2chlinux.org/index.php?FrontPage ここにパッチをうpするときはgzipやbzip2で圧縮した上で base64などでエンコードしてください。おながいします。 動作報告は>>2 のテンプレ使用を推奨。 >>48 レスありがとうございます。 MS Jet 4.0インストールしてみたら無事dmmgameplayerをインストールできました。 ただショートカットをクリックしてもDMMGamePlayer.exeをwineで開いても起動しません。 windowsのバージョンを7にしたりdirectx9やMS .NET 3.5などをインストールしてもダメでした。 >>50 https://qiita.com/Yutaka_Aoki/items/bdc2ec3f09f7131329e2 この変に fprintf( stderr, ・・・ ); を使ってデバッグ表示する方法が載っている。 Wineのソースに書けばほぼどんな情報も見ることが出来る。 >>52 ありがとう。Wineを改造する必要があるのか まずはビルド環境の構築からか >>50 環境変数 WINEDEBUGに必要な機能を指定すると、コンソールにログ吐くよ。 >>54 そのやり方はお勧めしない。理由: ・自分の思ったとおりの情報が表示される方法がスイッチが用意されているとは限らない。 ・スイッチが多すぎてどれがどれか分からない。 ・仮に表示できたとしても不要な情報が多すぎて解読が難しいことが多い。 ・結局、自分で fprintf(stderr, ・・・) を使って実際に表示してみて、取捨選択するのが 楽。 ・if 文である条件のデータだけを出力するなどできるので効率も良い。 理由: >>55 が無能だから お前だけ使うのやめとけ >>55 とりあえずリダイレクトとteeかなんかでファイルに記録して、後からgrepすればいいのでは?(´・ω・`) >>58 そもそも欲しい情報が出力されない可能性も有る。 >>59 それは流石に、ログ調べた後の次の段階なんじゃ…(´・ω・`) >>59 が本当なら>>55 に書いておくべき 無能の上塗りにしかなってない w fprintf()埋め込みで必要な情報は出せるんだろうけど、そのためにはソースコード上のどの場所に目的の機能が埋め込まれているか理解しないといけない。 プログラム全体の流れと主要な変数、構造体、クラスなどを理解しないといけないので最初は流れを追うためのfprintf()を大量に埋め込む羽目になったりする。 しかも>>52 のリンク先の情報ではコンテキストで動作を切り替えるために関数ポインタを多用しているようなのでコードの字面を追っただけでは目的の場所は見つからないかもしれない。 まずは用意されているデバッグ情報に書かれていることを理解してから、目的の情報がなくても近い情報を出しているところを見つけるのが良いのかな? あとWinAPIで渡される情報を知りたいのなら目的とするAPIを組み込んだ簡単なテストコードをWindows上で作ってWindowsアプリ上で戻り値を見たほうが楽かもしれない。 レスありがとうございます。途中経過です 現象はアプリケーションをリモート(CIFS)に置くとエラー(例外で落ちるわけではない)を吐いて動かないけど ローカルに置くと起動するという物です。Winだとこの現象は再現しません ひとまずWineをいじらずにすむ>>54 の方法を試してみました ログを整理していくとGetDriveTypeWの直後から挙動が変わっているように見えます リモートだと4、ローカルだと3が返りMSDNを見る限り適切ぽくはあります これをWinで再現しようと試みましたがプログラムにデバッグを妨害する細工が されているようでステップ実行が行えず、ラッパーDLLを作るしか・・・な感じになっています The Wine development release 4.0-rc1 is now available. This is the first release candidate for the upcoming Wine 4.0. It marks the beginning of the code freeze period. There have been many last minute changes, so please give this release a good testing to help us make 4.0 as good as possible. What's new in this release (see below for details): - Preloader implemented on mac OS. - Mouse cursor support on Android. - Updates to the timezone database. - Vulkan support updated to the latest spec. - Stream I/O support in WebServices. - Better palette support in WindowsCodecs. - Synchronization objects support for kernel drivers. - Various bug fixes. Wine 開発リリース 4.0-rc1 が入手できます。 これは来る Wine 4.0 に向けての最初のリリース候補です。コードフリーズ期間 の開始になります。駆け込みで多数の変更があったので、我々が 4.0 をできる だけよくする手助けのため、このリリースを十分テストしてください。 このリリースの最新情報 (詳細は以下を参照[訳注:委細省略]): - mac OS 上のプリローダーを実装 - Android 上のマウスカーソルサポート - タイムゾーンデータベースの更新 - 最新の仕様にVulkanサポートを更新 - WebServices でのストリーム入出力のサポート - WindowsCodecs でのパレットサポートの改善 - カーネルドライバーでの同期オブジェクトのサポート - 様々なバグ修正 >>63 なんとなくそれはファイルのロックとかでコケてる感じがする。 マウントするファイル共有じゃなくて、Syncthingみたいなファイル同期ならうまくいくと思う。 途中経過です Wineのログが正しければGetDriveTypeWの引数はディレクトリのパスらしいので 似たプログラムを適当にでっち上げて実行してみると Win7(リモート)→DRIVE_NO_ROOT_DIR(1) Wine(リモート)→DRIVE_REMOTE(4) Wine(ローカル)→DRIVE_FIXED(3) 返値が全然違う。MSDNをよく見たらルートディレクトリを指定しろってあるのでWin7の動作が正解っぽい しょうがないので問題のアプリケーションでどうなっているかラッパーDLLを挟んで調べようとしたけど Win7(リモート)→GetDriveTypeWを呼んでいる形跡がない Wine→ >i386_set_ldt: Invalid argument >Did you reconfigure the kernel with "options USER_LDT"? と怒られて起動出来ない GetDriveTypeWより前の問題っぽいけどデバッガで追えないので何が起こっているのか判らないのがきつい・・・ >>66 アプリケーションをリモートに置いている理由は「ローカルストレージを圧迫したくないから」なので ローカルへコピーするのは無しでお願いします >>67 CIFSってどうやってマウントしてるの? WindowsかSambaのファイル共有をLinuxでマウントしてるんだろうけど、 mount -t cifs以外にも方法はあるので・・・ 一応環境を書いておきます OS:Lubuntu 18.04.1 amd64 Wine:3.0.3 OS:FreeBSD 11.2-R amd64 WM:Xfce 4.12 Wine:i386-3.0.1 ビデオドライバはどちらもnvidiaの340 CIFSの先はWin7 作業しているのはWineの動作状況がマシなFreeBSD 今調べている>>63 で書いた現象はLinuxでもFreeBSDでも発生します もう一本同条件で動作が変わるアプリケーションを見つけました ポータブルにしてあるfoobar2000をリモートから起動すると終了時に プレイリストを保存できないとか言い出して設定情報?が破損するようです これもローカルにコピーするとこの現象は発生しません こりゃWineのファイルアクセス権に関する制御がおかしいのか? だとするとファイルI/O関係APIの総点検になり大事になってしまうが・・・ >>68 $mount_smbfs -I 192.168.x.x -g user -u user -E UTF-8:CP932 //USER@HOST/SHARE01 /mnt/X こんな感じです。mount -t smbfsはなぜかマウントさせられなかったです これもパッチ当てるなりしてUnicodeのままマウントできるようにしないといけないのですが >>69 CIFS以外のリモートファイルシステム、例えばNFSが動く装置をでっち上げられるでしょうか? その装置を、件の待避ドライブの代わりに使ってあれこれやってみたらどうなりますか? あと、蛇足ですが大戦略パーフェクト4が動かせるのですが、セーブするデータが壊れやすくて、 あれこれやりとりしてメーカに故障したデータ送ってなかなか治らないで待っていたら、 類似ケースの書き込みがあって、 Win10上で遊んでる方がSSD上ではデータが同じく壊れ、WIN7のHDDにインストールしたら壊れない。 とPCゲーム板で書いてましたね(´・ω・`) 相当厄介な話かも知れませんよ。 棒読みちゃんとボイロは動くけど棒読みちゃんのVoiceroidTalkPlusプラグインは動かないのか NFSならセキュリティガバガバだけどいけるかもな。 WineとWinで同じデバッグ環境を用意できないし デバッグ妨害細工のおかげで出来ることが限られ こういう状況の打破に役立つ情報はネット上にもほとんど無い 実践的なリバースエンジニアリングに役立ちそうな情報と言ったらトラベシアと @ITのリバースエンジニアリング入門くらいしか知らないし しかも直接的には役立たない。っと愚痴っても進むわけではないのだがorz >>70 ,72 ありがとうございます。NFSですか・・・すぐには難しそうですが試してみたいと思います >相当厄介な話かも知れませんよ。 うへぇ・・・同期の問題だと非常にやっかいですよね 一応比較的お手軽かつ効果がありそうな方法として仮想ディスクを作ってそれに入れてしまう という手がありますが、メンテナンスが面倒になりますし最終手段ですね EK Switch HitterのWindows版 in Wine で キー入力を調べていたところ Pause/Break が何故か NumLock として認識されます xmodmap でも xev でもちゃんと Pause (+Ctrl で Break)となっているので Wine か EK Switch Hitter のどちらかで間違いがあるのではと考えられます おま環でないことの確認と Wine or EKSH のどちらが原因か知りたいので 生のWindows環境をお持ちのかた あるいは確認してくださるかた いらっしゃいましたらご協力いただけないでしょうか https://elitekeyboards.com/switchhitter.php >>74 やってみたら、WindowsだとPauseになる。だからWineが駄目 Windowsだと下の欄に「Pause (0x13, BIOS 0xE11D)」って出てくるけれど、 Wineだと同じ場所に「Num Lock (0x13, BIOS 0x45)」って表示される CTRL + _ (アンダースコア) も、多分おかしい可能性があるかも。 WzEditor ではこのキーにキー・マクロ記録開始命令が割り付けられているが、 Wine では動作しない。 >>76 Wineのバージョンは? Wine 3.14以降でも同じ? >>77 実験したのは、Wine 3.1 系。 それより新しいバージョンでは分からない。 >>76 キー関係は取れないね IMEでふりがな取れないのを調査しててわかった The Wine development release 4.0-rc2 is now available. What's new in this release (see below for details): - Bug fixes only, we are in code freeze. 4.0-rc? になってから docuworks viewer のメニューの日本語文字が薄くなった。 ウェイトの細いフォントを使っているのも関係しているかも知れないのだけど、 メニューの文字が*薄いグレー*で読み辛い。4.0 から fontconfig の設定を優先 してくれるのはありがたいんだが、フォントの表示を濃くするにはどこを見れば いいだろう。 xrdb -query | grep -vE 'Xft\.(anti|hint|rgba)' | xrdb とか >>82 サンキュ。自分は非推奨の .Xdefaults で設定しているんだが、 Xft.antialias: true Xft.rgba: rgb を追加したら治った。 HDC をプロセスの垣根を越えて渡せる、恐らく唯一の貴重な Win32 API であるところの PrintWindow() API が、Wine では働かないらしい: https://mevius.5ch.net/test/read.cgi/tech/1474384848/338-339 WineHQのリポジトリ昨日からエラーにならない? The WineHQ repository key was changed on 2018-12-19. あ、それが原因だったの? git clone してから、ローカルで色々いじって、初めて、git pull してみて エラーが出たので、こっちの問題だと思った。なんせ、生まれて初めての pull だったもんで。 >>84 実験してみたら、Wine では、PrintWindow() は実装されてないが、 WM_PRINTとWM_PRINTCLIENTは一応実装されてはいる。 しかし、本来 WM_PRINT では出力可能な、タイトルバーやスクロールバーなどの NON CLIENT 領域が出力できない(CLIENT 領域のみ出力できる)。 ただし、WM_PRINTxxxx で、実験したのは、同一プロセスの HWND に対してのみ。 なお、本家 Windows では、PrintWindow() では他プロセスの HWND からの 出力を自分の HDC に出力できるが。WM_PRINTxxxx については 本家でもそこまでは実験してないので不明。 WineのWindowsアプリからSambaのドライブへファイルをコピーしたらタイムスタンプが変わっちゃったんだけど、これって普通なの? >>90 LinuxとWindowsはLocalTimeが違うってことはよくある Windowsの時間設定でUTC Timeに変更すると解決 https://wiki.archlinux.jp/index.php/ 時刻#Windows_.E3.81.A7_UTC_.E3.82.92.E4.BD.BF.E3.81.86 wineのアプリケーションって最初の起動はすごく遅いのにそれ以降の起動は早いですよね。 Linuxが起動したときにwineの小さなアプリケーションを背後で(デーモンのように)稼動させて wineアプリケーションを早く起動する方法とかありませんかね。 システムが変わるたびにアプリの起動時間が気になるんだけど、 Zorin OS Liteに移行したら二度目以降の起動もほとんど速くならない。 IrfanViewの起動に毎回10秒近くかかる。 Zorin OS Liteは全体的にメモリ使用量が少ない気がするけど、 メモリ管理の仕方とか違うの? でもUbuntu16.04ベースだしそれもないか? プリインストールのWineでアプリがいくつかエラーで起動できなかったので、 WineHQのdevelopmentを入れ直してます。 そういえば、Win7だと、HDDの速度がもろにOSの体感速度に影響することがある。 多分、莫大なサイズのバイナリ・ファイル(ライブラリなど)をアプリの起動時に 読み込むからではないかと思う。実際、古いHDDにインストールしたWin7が 遅かったので、タスクマネージャーで色々と調べてみたら、アプリが なかなか起動してくれない間でも、CPUもメモリもた大して使ってないように思えた。 イチかバチか、PartedMagic の CD を起動して、速いほうのHDDの パーテョションをリサイズして、新しいパーティションを追加して、そこに Win7をインストールしなおしたら、嘘のようにOS全体の体感速度が上がった。 >>98 いや、その古い HDD は、HDBENCH で測定しても物凄く遅いので、 デフラグ関係ないと思う。 >>99 IDE?ATA60とか? だとしたらそんな古いもんを後生大事してる精神が理解できない。 売れても10円とかだと処分もしにくいよな もし使う用途があれば使えばいいと思う たぶんmicroSDにも劣る性能だとは思うけど >>102 もしもの時のバックアップ用として古いデータを入れている。 新しいHDDにもバックアップはしてあるが、それが駄目になっても、 ある程度前までは戻れるということで、古いものも貯めている。 例えば、10年前のバックアップでも、他が全滅した場合には 何にも無いよりはまし。 今じゃS3とかGCSもあるんだし、クラウドにバックアップとっとけよ。 家が燃えたり津波で流されても無傷だぞw うちの余ってる40GBHDDは、圧縮解凍したり画像編集したりする場所に使ってるわ いつ壊れても問題ない というか早く壊れてくれいつまで動くんや >>104 ものすごく強い暗号かけてからじゃないとネットには出したくない。 でも、そのパスワードも忘れてしまう恐れがあるので難しい。 超強力なスパコンがあ有れば、暗号も破れると聞いた。 どんな機密情報扱ってるんだよ スパコン使ってでも中身を知りたくなるような内容なのか? >>107-108 終わってるぞw 2024年には、セキリティレベル256bits、DSA/RSA法サイズ15360bitsの暗号レベルが 1日で解読できるぞ https://sehermitage.web.fc2.com/crypto/safety.html 2019年現在でも11日で解析可能 そりゃ金かければ解読できるだろう 金かける価値のあるデータならな 自分のエロ動画が見られても恥ずかしいだけだけど、人から預かってる個人情報がネット上の<事故>で流れてしまったら(それが実際に悪用されなくても)信用上の問題でおまんま食い上げになるわ。 そもそもインターネット自体がアメリカが技術を盗むために広げた可能性もある。 クラウドを推進しているのもそのせいだろう。 一般企業はまたアメリカのセールス・トークだまされて機密情報を盗まれ、 日本の技術は盗まれ放題。今後もアメリカだけが得をしていくだろう。 >>114 そのまんまじゃなく暗号化したものをアップロードすればいい シームレスに暗号化したものをクラウドへ入出力するシステムもあるしな >>116 暗号化ツール使ってる時、パスワードをアメリカに送信されて、 IT各社のクラウドで、簡単に閲覧されている可能性もある。 そもそも、こんなに高速回線を強要されている現状では、 パスワードどころか、PC内のデータ全てがアメリカに吸い取られている 可能性も否定できない。Windows Updateしてる振りして やってても誰もわからん。 >>118 そんなクソシステムを使っている方が無能。って事だろ 暗号がらみくらい自前で用意出来なきゃ守れる物も守れない 「セキュリティーのためだから」 と言って、Update しない人が悪者扱いされてしまう。 重いので高速回線が強要される。メリットよりデメリットの 多いクラウドに騙される企業が後を絶たない。 Googleの検索速度の速いことからしても、パスワードなんて、既に数秒で 開錠されていたりしてな。 要は並列コンピュータのユニット数を増やせば出来てしまうわけだから。 ID:eXQt1+NYは何言ってもただ否定したいだけだろ 承認欲求は満たされたのかな? wineで動かしてるJaneStyleから書き込み wine昔と比べて格段に進化したね 動かないソフトウェアは多数あるものの格段に使いやすくなったのは確か。 winehqとかドキュメント化とか。 なんか転機があったんだろうね。もしかしたら.NETがOSSになったとかそういうあたりかも。 wine4.0 が rc からなかなか release にならないけど よほど記念碑的な release なんだろうか。 Linuxには今一使えるGUIのファイルリネームソフトがないんですが、 WineでWinのソフトを使っても問題ないですかね? パスの構造が違うので万一誤動作すると心配なんですが。 リネームするシェルを作成するシェルを書くのが良さげ GUIの話をしているのにCLIの話をしてくるアホ共 色々工夫してできなくもないんですが、 例えば次のように間が抜けたり逆に間に枝番が増えた場合の連番リネームなど、 正しくリネームできなかったりエラーになる場合もありますよね。 file2.txt file3.txt file5.txt file6.txt -> file1.txt file2.txt file3.txt file4.txt file1.txt file1-1.txt file2.txt file2-1.txt -> file1.txt file2.txt file3.txt file4.txt 本来はいったん別の名前で連番にしてから連番以外の部分をもとに戻したりする必要がありますが、 そういう風に処理してくれるのはなかなかありませんよね。 >>132 pyRenamerが有る 入力書式は入力欄にマウスカーソル持ってくだけでポップアップされるからとっつきやすい >>140 ありがとうございます。かなり高度なリネームができるようですが、 やはり処理の順序ですでに存在するファイル名が指定されるとエラーになります。 これはたまたまできますが、 file2.txt file3.txt file5.txt file6.txt -> file1.txt file2.txt file3.txt file4.txt これだとfile0.txtをfile1.txtにリネームできず失敗します。 file0.txt file1.txt file2.txt file3.txt -> file1.txt file2.txt file3.txt file4.txt またこちらはこの順序でソートできないこともあり予期しない結果になります。 file1.txt file1-1.txt file2.txt file2-1.txt -> file1.txt file2.txt file3.txt file4.txt Metamorphose2は重複する場合もサブフォルダを作成して処理することで曲がりなりにもできるようですが、 以前試したときに連続して処理するとうまく動かなかったような記憶が。 すでにあるファイル名とかぶるリネームできるソフトはWinでも少ないからなあ 練馬とかできたんじゃなかったかな 仮リネーム機能があったはず >>142 練馬は使ったことがなかったです。 > またこちらはこの順序でソートできないこともあり予期しない結果になります。 > file1.txt file1-1.txt file2.txt file2-1.txt -> file1.txt file2.txt file3.txt file4.txt このソート順の方は仕方がなかったですね。 ハイフンの代わりにfile1_1.txtみたいにアンダーバーを使わないといけなかった。 file1.txt file1_1.txt file2.txt file2_1.txt -> file1.txt file2.txt file3.txt file4.txt これでもfile1_1.txtをfile2.txtにリネームできずに失敗しますね。 Thunarはこれもたまたまできますが、 おそらく処理の順序でfile2.txtを先にfile3.txtにリネームしてるからでしょうね。 WineHQの4.0-rc1の更新履歴に名前が見えるFlexible Renamerもどうなのかと思ったら、 4.0-rc7でもエラーで起動できませんね。 >>132 おお同志よ。 かつて100件単位で連番リネームがしたくて探したんだけど、 ・開始番号が1番からしかできない ・偶数のみ/奇数のみにリネームできない てのしか見当たらなかったので、WineでいにしえのVix を使って柔軟なリネームをしていたものですが、 Wineが1.8x以降だとVix自体が動作しなくなったので、 今はLinux版XnViewが使えないか検討中です。 (シェルスクリプトで足りるのでまだ試していない) 因みにWindowsユーザーの頃はFlexible Renamer使ってた wineで動くリネームソフトだとお〜瑠璃ね〜むが優秀 このソフトD&D対応で、Nautilusとかから検索結果ドロップできる 複数フォルダに散らばってるファイルをさくっとリネームしたいときはこれ The Wine team is proud to announce that the stable release Wine 4.0 is now available. This release represents a year of development effort and over 6,000 individual changes. It contains a large number of improvements that are listed in the release notes below. The main highlights are: - Vulkan support. - Direct3D 12 support. - Game controllers support. - High-DPI support on Android. ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.1 2024/04/28 Walang Kapalit ★ | Donguri System Team 5ちゃんねる