Konuda birçok mevcut soru (hangi en yararlı cevaptır olsa bu ) ve diğer forumlarda çeşitli ipler, ben güvenilir benim ayarlayamıyor xrandr
VirtualBox Debian 7 ayarları.
xrandr
Ekran ayarlarımı kontrol etmek için kullanmaya çalışıyorum (masaüstü ortamımın onları otomatikleştirmesine izin vermek yerine) çünkü ekran ayarlarını otomatikleştirmeyen veya Gnome masaüstü ortamı ekran ayarlarını kullanan i3
pencere yöneticisini kullanıyorum .
Kurmak:
Bunlardan herhangi birinin, özellikle donanımların ne kadar alakalı olduğundan emin değilim, çünkü Debian'ın monitör kurulumu hakkında gerçekten fazla bilgiye ulaşabileceğini sanmıyorum ; Söyleyebileceğim kadarıyla, VirtualBox sadece sanal ekranların varlığını donanım izleyicileriymiş gibi bildirir.
Donanım
- NVidia grafikli Lenovo Dizüstü Bilgisayar (tümleşik Intel GPU kullanılmıyor, AFAIK - bunu yapmak için kullandığım bir BIOS ayarı var)
- Windows 7
- 32GB RAM
- En yeni (sanırım) nVidia sürücüyü (340.84) kullanma - bu önemli olabilir , çünkü konuk OS'in ana bilgisayar donanımına erişmesine izin verdiğini düşündüğüm VirtualBox'ta 3D hızlandırmayı etkinleştirdim (aşağıya bakınız).
- Seiki 4K TV (monitör olarak kullanılır) HDMI üzerinden yerleştirme istasyonu üzerinden (dahili olarak DisplayPort'u HDMI'ye dönüştürür)
- Samsung SyncMaster 243T monitör dikey döndü
VirtualBox
- VirtualBox 4.3.20 Kullanımı
- Konuk eklemeleri (aynı sürüm) yüklü
- Monitör sayısı: 2 (tam ekran modundayken Seiki ve SyncMaster cihazına atanmış)
- Kullanılan maksimum video belleği (128 MB)
- 3D Hızlandırma etkin
Konuk ayarları
- 32-bit Debian 7
gnome
vegdm3
yüklü- Tercih edilen WM
i3
Davranış:
Başlattığımda i3
ve sorguladığımda xrandr
, varsayılan ekran ayarları her zaman VBOX0
ve VBOX1
, VirtualBox'ın rapor ettiği iki "monitör" ile aynı görünüyor xrandr
(en azından bu şekilde anlıyorum; bir şeyi kaçırıyor olabilirim). Söyleyebileceğim kadarıyla, hangi VBOX # 'nın hangi monitörün deneme yanılma yetersiz olduğunu söylemenin iyi bir yolu olmadığını unutmayın.
Genellikle bu, dikey SyncMaster'ım için makul (eğer biraz doğal ise) bir çözünürlük içerir, fakat Seiki için 4K çözünürlük yoktur. VirtualBox'taki "konuk ekranını otomatik olarak yeniden boyutlandır" seçeneği etkileyici gözükmüyor xrandr
.
Yukarıda verilen cevapta açıklanan betiğin çeşitli değişikliklerini denedim , ancak genel olarak çeşitli xrandr
hatalar alıyor gibiyim. Çalıştığım çeşitli şeyler ile aldığım hatalar arasında çok fazla ilişki bulamadım, ancak önemli olabilecek başlıca şeyler şunlardır:
Script tweaks
- (Genellikle)
VBoxService
yeniden başlatma adımlarını atlayarak (xrandr
davranışı değiştirmezler ) xrandr --fb
Diğerxrandr
komutlardan önce seçeneği kullanın ; bu bazen aşağıda belirtilen "belirtilen ekran yeterince büyük değil" hatasıyla sonuçlanır- 60 yerine 30 fps kullanın (geçerli HDMI aracılığıyla 4K maksimum 30fps'dir, ancak bunun VirtualBox içinde önemli olduğunu düşünmüyorum ; her durumda bazen çalışmam gerektiğini ve bazen iki yönde de başarısız olduğunu düşünüyorum)
cvt
Bunun yerine kullanıngtf
(bunlar aynı şekilde davranıyor gibi görünür)gtf
(Genellikle 200 veya 300 civarında olan) tarafından verilen ilk sayıyı daha küçük bir sayı ile değiştirin100.00
(sanırım bu bir veya iki kez komut satırında çalıştı, ancak genellikle bir fark yaratmıyor gibi görünüyor).- Yeni mod adlarını kullanarak randomize edin
$RANDOM
(Ayrıca adlarla uğraşmanın başka yollarını da denedim) --rmmode
Kullanmadan önce açıkça kipler.--newmode
(Aşağıda listelenen "yazı tipi" hatasını engelliyor gibi görünüyor)- S ayarını yaparken
--right-of
veya tuşlarını kullanın (ekranlar genellikle varsayılan olarak yansıtılır)--left-of
--output
Hata mesajları
xrandr: specified screen 5120x2160 not large enough for output VBOX0 (3840x2160+3840+0) X Error of failed request: BadValue (integer parameter out of range for operation)
Monitörler zaten doğru çözünürlüklere zorlandıktan sonra bir sonraki senaryoyu yeniden çalıştırırken bunu şimdi aldım (bir sonraki bölümde açıklanan geçici çözümü kullanarak). Bu beni şaşırttı, çünküxrandr
aşağıdakileri rapor ediyor:Screen 0: minimum 64 x 64, current 5120 x 2160, maximum 16384 x 16384
X Error of failed request: BadMatch (invalid parameter attributes)
Bu bazen bir yapmaya çalışırken ortaya çıkar--newmode
. Muhtemelen betiğin başarısız olmasının ikinci en yaygın nedenidir. Ben düşünüyorum o neden olabilirxrandr
kurmak için bir önceki girişiminden modun adı "hatırlama", ama kullanan$RANDOM
yok değil bazı başka sorun olabilir bu yüzden sürekli sorunu çözmek için görünür. (Sanırım$RANDOM
ad çarpışmaları olsa da mümkün olabilir.) Kullanmaya başladığımdan beri bu hatayı görmedim--rmmode
, ancak bu komutu eklediğinden beri komut satırından beri komut dosyasını yeterince çalıştırmadım. davranış.X Error of failed request: BadMatch (invalid parameter attributes)
Bu bazen bir yapmaya çalışırken ortaya çıkar--addmode
. Muhtemelen betiğin başarısız olmasının en yaygın sebebi budur ve beni şaşırtıyor. Bazen, el ile (yani bir terminalde), komut dosyası tarafından kullanılan aynı komut dizisini uygulamak, tuhaf olan bu hata için uygun bir geçici çözüm gibi görünmektedir.
GNOME geçici çözümü:
Ben Gnome masaüstüne giriş yaparsanız, daha sonra, VirtualBox yönettiği "Otomatik boyutlandırma konuk ekran" işlevi yerine çıkış yapıp geri İle bulduk i3
, xrandr
genellikle kendi otomatik oluşturulan hem Seiki için doğru kararlar ve SyncMaster içerir mod listesi ve 4K çözünürlük, her VBOX ekranı için "tercih edilen" çözünürlük olarak ayarlanmıştır. Bu bana sadece kullanım sağlar xrandr --output [4K VBOX] --auto --left-of [SyncMaster VBOX]
, ardından xrandr --output [SyncMaster VBOX] --mode [SyncMaster resolution]
(SyncMaster çözünürlüğü yine de el beri belirtilmelidir o notta xrandr
raporları için aynı tercih çözünürlük hem VBOX#
gerçeğin ya aklı ile hiçbir konuda 's).
Bu geçici çözüm, gerçekleştirir, bir kez görünüşte kapatmalar ve yeniden doğmuş genelinde devam ederse (olduğunu, istenen modlar halen mevcuttur xrandr
Hala iki çalıştırmak için gereken rağmen 'ın modu listesinin xrandr
bir başladıktan sonra komutlar i3
oturumu), fakat yok değil her zaman sadece zaman devam oturumu kapatıp yeni bir i3
oturum başlatmak . gdm3
Giriş ekranının asla doğru çözünürlüğe sahip olmadığını unutmayın (gördüğüm kadarıyla). Burada olan gariplik hakkında başka bir yorumum yok.
EDIT: Bu yaklaşım komut dosyası gibi görünmüyor ve davranış aslında tutarlı görünmüyor.
Diğer notlar:
- Bir yok
xconf
benim içinde (veya benzeri) dosyasınıetc/X11
dir. - Ekranları düzeltmek oldukça yaygın bir sorundur, çünkü ne zaman ekranlarımdan birini kapatsam, VirtualBox tam ekran sanal ekranlardan birini öldürür. (Urgh.)
Sorular:
- Farklı monitörlerin gerçek donanım yeteneklerini (yani, doğal çözünürlükler) VirtualBox içinden programatik olarak ayırt etmenin bir yolu var mı?
- Neden bu çeşitli hataları görüyorum? Neler oluyor
xrandr
, vb? - Oturumumdan
gnome
önce bir oturum başlatmamı gerektirmeden doğru tam ekran çözünürlüğünü güvenilir bir şekilde elde etmenin bir yolu var mıi3
?
Muhtemel ilgili konular
- Fare işaretçim, tıklamaların algılandığı yerde güvenilir bir şekilde hizalanmıyor; tıklamalar genellikle aşağıda ve işaretçinin sağında gerçekleşir. Ekranları doğru bir şekilde yapılandırdıktan sonra, şu anda ekranlar doğru çözünürlüklere sahip olmasına rağmen işaretçi hala hafifçe kapalı olsa da, bu sorun genellikle ortadan kalkar.
- Çözünürlükleri doğru almayı başardığımda ekran bazen titriyor. Bu can sıkıcı ama yaşanabilir. Buna neyin sebep olduğu veya düzeltilip düzeltilemeyeceği hakkında fikrin var mı?
xrandr
hatalar alıyorum .
.xinitrc
kullanıyor startx
musun? Kullanmaya başladığım xmonad'ı kullanıyorum (anladığım gibi, i3'e benziyor?) startx
. Benim xrandr
komut dosyası tüm yapılır .xinit
penceremin yöneticisi suya indirilmeden hemen önce. Bu şekilde mükemmel sonuçlar aldım. X gitmeye hazır ve müdahale etmek için başka hiçbir şey başlatılmadı.
gdm3
ve i3
hesabım için varsayılan masaüstü ortamı olarak seçtim.
xrandr --query
Ayarları yanlış algıladığında (a) 'nın ve (b) her şeyi doğru şekilde yaptıktan sonra çıktısını gönderir misiniz? Veya doğru çalışan her şeyden en az biri.