Thay đổi độ phân giải từ dòng lệnh trong hộp ảo


18

Trong hộp ảo, làm cách nào để thay đổi độ phân giải màn hình từ dòng lệnh? (Hoặc nếu có một loại cho bất kỳ loại máy tính nào, thì nó cũng có thể hoạt động).


1
Bạn có muốn làm điều này từ dòng lệnh máy chủ hoặc khách?
CarlF

2
có lẽ là tôi, nhưng hệ điều hành là gì?
Jakub

Một câu trả lời thấu đáo có thể được tìm thấy ở đây trên SO: stackoverflow.com/questions/10725867/ trên
Đám mây

Câu trả lời:


19

Bạn có thể nhanh chóng "gợi ý" cửa sổ đến một kích thước cụ thể bằng lệnh sau:

VBoxManage controlvm <uuid>|<name> setvideomodehint <xres> <yres> <bpp>

Ví dụ: nếu bạn có một khách gọi là "Windows XP Pro" và bạn muốn đặt độ phân giải thành 1024x600 ở mức 32 bit cho mỗi pixel (còn gọi là 32 bit), bạn sẽ sử dụng lệnh sau:

VBoxManage controlvm "Windows XP Pro" setvideomodehint 1024 600 32

Tuy nhiên, có một số điều kiện tiên quyết cho việc này:

  1. Điều này chỉ hoạt động nếu bạn đã khởi chạy Hệ điều hành khách từ môi trường có cửa sổ trên Hệ điều hành máy chủ (ví dụ: Windows / X Windows / Mac OS Desktop).

  2. Bổ sung khách phải được cài đặt trong hệ điều hành khách.


VirtualBox OSE 4.0.4 không cho phép bạn thay đổi độ phân giải thành lớn hơn kích thước hiển thị bình thường với điều đó.
cweiske

2
Cũng lưu ý rằng lệnh đó phải được chạy trong khi VM đang chạy. Kinh nghiệm của tôi cũng chỉ ra rằng cần phải thiết lập VBoxManage setextradata global GUI/MaxGuestResolution any(trước khi khởi động VM). Tự động thay đổi kích thước cũng nên được tắt trong menu xem. Nếu độ phân giải dự định đặc biệt cao (đặc biệt là nếu độ phân giải cao hơn độ phân giải của máy chủ), có thể phải gán thêm bộ nhớ video.
Bob

Có thể duy trì cài đặt này bằng cách nào đó?
naitsirch

3

Đầu tiên, vm phải được bật, bạn có thể bật nguồn bằng lệnh:

# VBoxManage startvm "VPN" --type headless

Trước khi bạn có thể thay đổi độ phân giải:

# VBoxManage controlvm "VPN" setvideomodehint 1024 768 24

2

Nếu bạn muốn thay đổi nó từ bên trong khách:

Trong Windows : có một vài công cụ cho phép bạn thực hiện việc này một cách dễ dàng từ dòng lệnh, đáng chú ý là Display Changer .

Trong Linux : Sử dụng xrandr -qvào danh sách chế độ hiển thị có sẵn, sau đó xrandr -s #ở đâu #là số chế độ hiển thị mà bạn muốn sử dụng. xrandr -qsẽ hiển thị các tùy chọn số này bên cạnh mỗi tùy chọn hiển thị.


1
độ phân giải 10k x 8k tôi đã cố gắng cài đặt với bộ thay đổi hiển thị không có tác dụng gì với
hộp

1

$ VBoxManage setextradata "WinXP" "CustomVideoMode1" "1440x900x16"
Trong đó "WinXP" là tên máy ảo của bạn. Giải pháp này có phần gần với sự thật :)


không hoạt động ở đây trên VirtualBox OSE 4.0.4
cweiske

0

Nhìn vào bên trong tài liệu được cung cấp với VirtualBox. Các chương trình VBoxManage mang đến cho bạn khả năng sửa đổi các máy ảo từ dòng lệnh. Tuy nhiên, bạn không thể làm điều này trong khi máy đang chạy. Để làm điều đó, bạn sẽ cần phải tìm cách thay đổi độ phân giải cho hệ điều hành mà bạn đang ảo hóa.


xin lưu ý rằng trong một số trường hợp, bạn sẽ phải cài đặt "bổ sung cho khách" để sử dụng VBoxManage đúng cách, hãy xem câu hỏi có thể liên quan đến một vấn đề tương tự: superuser.com/questions/30924/
Uwe Honekamp

0

Máy khách MS Windows RDP cho Mac OSX có cài đặt tùy chọn mà tôi phải điều chỉnh ngoài việc thêm các chế độ video tùy chỉnh (hiển thị ở trên).

Chọn Tùy chọn từ menu RDC, sau đó nhấp vào 'Hiển thị'. (Tôi sẽ đăng một hình ảnh màn hình, nhưng tính năng ngăn chặn thư rác đã ngăn chặn nó.)

Bằng cách chọn 'Toàn màn hình', tôi có thể thay đổi chế độ hiển thị thành toàn màn hình của máy khách. Trong trường hợp này, một chiếc MacBook có độ phân giải màn hình 1280x800.


1
Tải lên hình ảnh / liên kết mà không nhúng nó và ai đó sẽ sửa nó. Ngoài ra "Hiển thị ở trên" không thực sự cắt nó vì thứ tự câu trả lời thay đổi trên SU - bạn có thể muốn tham khảo rõ ràng câu trả lời mà bạn đang đề cập đến trong tương lai
Journeyman Geek
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.