Ada beberapa batasan dari para tamu Windows tetapi untuk menjalankan aplikasi tamu dalam mode mulus dari skrip yang dapat dimasukkan ke dalam peluncur, kami menguji prosedur berikut:
- Mulai VirtualBox Manager
- Masuk ke windows dengan pengguna dan kata sandi Anda
- Beralih ke mode mulus Host+L
- Dalam mode mulus, simpan status mesin
Sekarang kita bisa mendapatkan kontrol baris perintah penuh atas mesin virtual dengan perintah berikut:
Mulai mesin virtual dari keadaan save yang mulus
VBoxManage startvm "<Name_of_VM>"
atau (untuk frontend Qt)
VirtualBox --startvm "<Name_of_VM>"
Jalankan aplikasi di VM
VBoxManage --nologo guestcontrol "<Name_of_VM>" run --exe "C:\\full\\path\\to\\program.exe" --username windowsuser --password password --wait-stdout
Hentikan VM dalam kondisi save
VBoxManage controlvm "Name_of_VM" savestate
Masukkan ini dalam skrip untuk menikmati jendela aplikasi Windows yang mulus di desktop Ubuntu Anda.
Jika Anda telah membuat logon Windows tanpa kata sandi, ini tidak akan berfungsi. Lihat di Manual Kotak Virtual untuk batasan dan cara mengkonfigurasi Windows agar berfungsi.
Juga, untuk menggunakan akun tanpa atau dengan kata sandi kosong, kebijakan grup tamu harus diubah. Untuk melakukannya, buka editor kebijakan grup di baris perintah dengan mengetikkan gpedit.msc , buka kunci Computer Configuration\Windows Settings\Security Settings\Local Policies\Security Options
dan ubah nilai Accounts: Limit local account use of blank passwords to console logon only
menjadi Dinonaktifkan.
Pada sistem operasi tanpa Group Policy Editor (gpedit.msc), seperti edisi Home Windows, membuat DWORD pada kunci registri HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\limitblankpassworduse
dan mengaturnya ke nol akan mencapai efek yang sama, menurut jawaban ini .
Ini lebih merupakan petunjuk daripada jawaban, tetapi terlalu besar untuk dikomentari.
Anda mungkin harus melihat ini . Menurut dokumen, perintah ini, dijalankan dari OS host (Saya menganggap host Ubuntu dan tamu Windows):
Harus membuka regedit di Windows (tamu), tetapi saya tidak pernah bisa membuatnya berfungsi.
Anda juga bisa menggunakan
untuk memeriksa apakah VM sedang berjalan atau tidak.
sumber
VBoxManage guestcontrol Windows\ XP exec --image c:\\program\ files\\quicken\\qw.exe --username XXXXX --password XXXXX
mana XXXXX adalah nama pengguna dan kata sandi saya.Saya menghapus ide asli ketika saya menyadari bahwa itu tidak akan berhasil karena Linux tidak akan dapat mengakses partisi windows di VM jika itu belum berjalan. Mungkin ada cara yang lebih kompleks untuk melakukannya, tetapi saya tidak tahu apakah itu benar-benar layak.
Mungkin layak untuk memiliki direktori bersama yang umum, dan skrip di Windows akan selalu memeriksa direktori ini untuk melihat apakah direktori itu kosong atau tidak. Jika tidak, itu akan menjalankan skrip di direktori, yang akan diletakkan di sana oleh sistem Ubuntu sebelum menjalankan VM.
Anda dapat memiliki skrip ke-2 yang menghapus skrip ke-1 sehingga tidak berjalan di waktu berikutnya.
sumber
Saya menginginkan hal yang sama dan akhirnya menyelesaikannya tanpa menggunakan guestcontrol. Pada host MacOS X saya, saya memiliki folder (bernama Windows) yang dijalankan oleh klien vbox saya yang menjalankan Win7 sebagai Z :. Saya menggunakan file dummy untuk berkomunikasi antara host dan klien saya seperti ini:
Pada host Mac: - membuat satu skrip shell lengkap dengan ikon untuk setiap aplikasi windows yang ingin saya mulai di Win-client. Apa yang pada dasarnya mereka lakukan adalah memastikan bahwa VirtualBox belum pernah dimulai sebelumnya dan kemudian membuat "mulai aplikasi khusus ini" -file di folder bersama yang dapat dibaca oleh Windows setelah startup. Contoh skrip tersebut adalah:
Kemudian pada klien windows saya memiliki skrip yang cocok (BAT-file) di folder Startup yang terlihat seperti ini:
Dengan cara ini, setiap kali saya ingin menambahkan ikon startup klien baru di Mac saya, saya menyalin skrip shell, menciptakan file dummy baru dan menambahkan baris startup yang cocok di skrip BAT pada klien. Bekerja hebat dan saya pikir itu sejalan dengan ide Martys di posting sebelumnya.
sumber
pgrep
daripadaps | grep
. Yang terakhir menanggung risiko pencocokan itu sendiri.MacMini:~ urban$ ps ax | grep -v grep | grep 'Windows 7' 10874 ?? R 4:38.49 /Applications/VirtualBox.app/Contents/Resources/VirtualBoxVM.app/Contents/MacOS/VirtualBoxVM --comment Windows 7 --startvm 24507412-789d-42ed-9c79-b4faf0c2d130 --no-startvm-errormsgbox
tapi mungkin Anda punya saran tentang ini?