Wine adalah program untuk menjalankan aplikasi Windows di komputer yang menjalankan Unix.
Meluncurkan Wine di Windows telah menjadi mimpi yang menjadi kenyataan bagi para penggemar yang mengikuti panggilan hati "Kami melakukan apa yang harus kami lakukan, karena kami tidak harus melakukannya", setidaknya sejak 2004, ketika seseorang mencoba untuk mengompilasi Wine di Cygwin dan
memecahkan registri host. sistem .
Pembenaran: "Tapi bagaimana dengan aplikasi lama yang tidak berfungsi dengan baik di Windows baru-baru ini?" Tetapi kami memahami bahwa alasan
sebenarnya adalah "Saya menderita untuk waktu yang lama karena karya seni saya, sekarang giliran Anda."
Pada akhir 2008 saya diliputi oleh obsesi - dan saya (sepertinya, itu saya) menciptakan halaman
WineOnWindows di Wine wiki.
Singkatnya: ini sama sekali tidak mungkin, karena semuanya bekerja melalui Cygwin, MinGW, atau Windows Services for Unix.
Halaman saat ini tidak jauh lebih sukses.
Windows 10 memperkenalkan subsistem Windows untuk Linux, dan Ubuntu mudah diunduh dari Microsoft Store. Akibatnya, ide bodoh kami terwujud hampir dengan sendirinya, kecuali jika Anda perlu secara manual mengatur variabel lingkungan DISPLAY.
Sampai sekarang, itu sangat tidak berguna. Wine hanya berfungsi dengan aplikasi Windows 64-bit, yaitu, bahkan tidak dengan semua aplikasi yang datang dengan Windows 10 itu sendiri.
(Proyek awal dimulai setelah seseorang tidak dapat menjalankan Encarta 97 di Windows 10. Jadi, seperti solusi geeky nyata, itu tidak benar-benar menyelesaikan masalah asli pengguna).
Tetapi saya ingin menekankan sekali lagi:
sekarang ini bekerja dengan sepele . Saya bukan semacam jenius gila yang merealisasikan proyek fantastis - saya sepertinya menjadi yang pertama mengumumkan fakta ini secara terbuka.
Bagaimana melakukan hal bodoh ini
1. Anda memiliki 64-bit Windows 10, bukan? Ini adalah satu-satunya versi dengan WSL.
2. Pasang WSL. Control Panel -> Aplikasi -> Program dan Fitur -> Mengaktifkan atau menonaktifkan Fitur Windows. Centang kotak "Subsistem Windows untuk Linux". Mulai ulang Windows.
3. Buka Microsoft Store, instal Ubuntu (pada dasarnya, WSL dibuat untuk meluncurkannya). Saya menginstal Ubuntu 18,04 LTS. Buka Ubuntu dan Anda akan melihat terminal bash.
4. Instal berikut ini dari baris perintah bash:
sudo dpkg --add-architecture i386 sudo apt update; sudo apt upgrade sudo apt install wine-stable
Anda dapat menginstal versi Wine yang lebih terkini jika Anda ingin
bermain-main (jangan lupa tentang dua perpustakaan baru yang diperlukan untuk wine-devel> = 4.5 dan yang belum termasuk dalam Ubuntu!). Beri tahu saya jika ini berhasil.
5. Tambahkan baris berikut ke
.bashrc
Anda:
export DISPLAY=:0.0
Anda mungkin ingin menjalankan ini di jendela bash saat ini juga.
6. Instal VcXsrv , versi xorg yang dikemas dengan indah yang dikompilasi untuk Windows - ambil saja versi terbaru dari executable dan jalankan. Luncurkan X Server melalui tombol Start dan XLaunch. Dia akan memandu Anda melalui default - biarkan sebagian besar dari mereka apa adanya. Untuk berjaga-jaga, saya memeriksa "Nonaktifkan kontrol akses". Simpan konfigurasi.
6a. Jika Anda ingin memverifikasi bahwa server X dikonfigurasi dengan benar, instal
sudo apt install x11-apps
dan jalankan
xeyes
untuk perjalanan singkat kembali ke 80-90-an.
7. wine
itu sendiri tidak berfungsi, karena
binari 32-bit tidak dimulai di WSL . Pada Windows 10 64-bit kami, kesalahan
/usr/bin/wine: 40: exec: /usr/lib/wine/wine: Exec format error
. Rupanya, ini
diperbaiki di WSL 2 .
Sementara itu, jalankan Notepad in Wine!
wine64 /usr/lib/x86_64-linux-gnu/wine/fakedlls/notepad.exe
TO DO: dukungan 32-bit. Kami harus menunggu
rilis WSL 2 . Saya bertanya-tanya apakah program Win16 kuno akan bekerja - secara teori, mereka harus berjalan dalam Wine, bahkan jika mereka tidak lagi bekerja di Windows itu sendiri.
Aplikasi 32-bit melalui qemu
Terima kasih kepada
komentator anonim yang menyarankan cara mendekati peluncuran aplikasi 32-bit.
sudo apt install qemu-user-static
sudo update-binfmts - instal i386 / usr / bin / qemu-i386-static --magic '\ x7fELF \ x01 \ x01 \ x01 \ x01 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ \ x00 \ x03 \ x00 \ x01 \ x00 \ x00 \ x00 '--mask' \ xff \ xff \ xff \ xff \ xff \ xff \ xff \ xff \ xff \ xff \ xff \ xff \ xff \ xff \ xff \ xff \ xff \ xf8 \ xff \ xff \ xff \ xff \ xff \ xff \ xff '
sudo service mulai binfmt-support
Dan sekarang kita bisa melakukan:
fun @ DESKTOP-7F6DU8P: ~ $ wine --version
wine-3.0 (Ubuntu 3.0-1ubuntu1)
Namun, Encarta 97 masih tidak berfungsi:
fun @ DESKTOP-7F6DU8P: / mnt / e $ wine SETUP.EXE
wine: Kesalahan halaman tidak tertangani pada akses baca ke 0xffffffff di alamat 0x11df: 0x00002c11 (utas 0011), mulai debugger ...
0011: err: seh: start_debugger Tidak dapat memulai debugger ("winedbg --auto 15 108") (2)
Baca Panduan Pengembang Anggur tentang cara mengatur winedbg atau debugger lain
Bagi mereka yang berada dalam topik:
file
mengatakan
SETUP.EXE: MS-DOS executable, NE for MS Windows 3.x
, jadi kita harus pergi ke program 16-bit yang jarang.
Encarta 97 menginstal dan bekerja dengan sempurna di Wine 4.13 di Linux ... tetapi masih belum di 4.13 pada Windows 10:
fun @ DESKTOP-7F6DU8P: ~ $ wine /mnt/e/SETUP.EXE
Xlib: ekstensi "MIT-SHM" hilang pada layar ": 0,0".
Xlib: ekstensi "MIT-SHM" hilang pada layar ": 0,0".
0009: err: proses: __ wine_kernel_init acara boot tunggu waktunya habis
001d: err: proses: __ wine_kernel_init acara boot tunggu waktu habis
anggur: Kesalahan halaman tidak tertangani pada akses baca ke 0xffffffff di alamat 0x11cf: 0x00002c11 (utas 001e), mulai debugger ... 001e: err: seh: start_debugger Tidak dapat memulai debugger ("winedbg --auto 28 152") (2)
Baca Panduan Pengembang Anggur tentang cara mengatur winedbg atau debugger lain
001d: err: ntdll: RtlpWaitForCriticalSection section 0x7e6273e0 "syslevel.c: Win16Mutex" tunggu waktunya habis pada thread 001d, diblokir oleh 001e, coba lagi (60 detik)
Xlib: ekstensi "MIT-SHM" hilang pada layar ": 0,0".
Tidak dapat memuat anggur-tokek. Rendering HTML akan dinonaktifkan.
001e: err: seh: rais_exception Kode pengecualian tidak tertangani c0000005 flags 0 addr 0x7b4a6abc
kesalahan klien anggur: 1e: tulis: deskriptor file salah
Tentu saja, ini menghasilkan pesan kesalahan yang
berbeda dalam beberapa ...