İkinci ekran için ayrı Çalışma Alanı


16

Bunun gibi bir davranış elde etmek istiyorum: Dizüstü bilgisayar ekranımı kullandığımda ilk çalışma alanım kullanılıyor. İkinci bir ekran taktığımda (HDMI aracılığıyla) ikinci bir çalışma alanı kullanılır ve ikinci ekrandaki çalışma alanını başka bir çalışma alanına geçirmem dışında ikinci ekranda açılan tüm yeni pencereler ikinci alana iner.

İkinci ekranımı çıkardığımda tüm pencereler oluşturuldukları çalışma alanlarında kalacak ve onları görmek için dizüstü bilgisayarımdaki çalışma alanlarını değiştirebilirim.

Bu davranış zaten mümkün mü?


Appiz -> Behvior ile çalışma alanlarını etkinleştirmeyi zaten başardım ve CompizConfig Settings Manager ile dikey çalışma alanlarını devre dışı bıraktım. Ayrıca ne istediğimi yapabiliyor gibi görünüyor Expo ve Viewport Switcher Eklentileri var ama orada bilgi olmadan ayarları değiştirmekten korkuyorum.
velop

Sorunuz biraz kafa karıştırıcı. Ekranları iki ayrı çalışma alanı olarak yapmak istiyorsanız, cevap hayırdır, mümkün değildir. İkinci ekranı bağladıktan sonra çalışma alanı sayısını otomatik olarak değiştirmek istiyorsanız, bu mümkün. Lütfen ne istediğini açıkla / basitleştir
Sergiy Kolodyazhnyy

2
Compiz -> Masaüstü Duvar -> Viewport Switching -> Multimonitor bahvior -> Ayrı olarak değiştir seçeneğini buldum. Ama görünüşe göre bu işe yaramıyor.
velop

@velop, bu yorumları soruya düzenleyebilir misiniz?
SDsolar

Yanıtlar:


1

Bu davranış zaten mümkün mü?

Linux'ta her şey mümkündür. X sunucunuzla uğraştığınızdan ve yardıma ihtiyacınız varsa kesinlikle çalışan tarayıcıya ihtiyacınız olduğu için Xserver hakkında biraz temel bilgiye , biraz zamana ve bir sisteme ihtiyacınız olacak :-)

Bence üç olası çözüm var:

  • Çok monitörlü kurulumlar Xinerama'yı kullanır . Aklıma gelen en basit çözüm, yapılandırmanıza üçüncü bir sanal ekran eklemek ve pencereleri xdotool kullanarak oraya taşımaktır. Bu çözümün bazı dezavantajları vardır, ancak pencereleri genel olarak mümkün olmayan farklı Xservers'lar arasında taşımak zorunda kalmayı gerektirmez.

  • Pencereleri farklı Xservers'lar arasında taşımak mümkün olmadığından , bunu bizim için yapmak için xmove veya Xpra gibi bir proxy'ye ihtiyacımız var . Pencereleri daha sonra pencereleri gizlemek için ayrı bir Xfvb oturumunda yaşıyor düşünüyorum . Oturum ekleyebilir ve oturumu çıkarabilirsiniz.

  • Hangi yöntemi kullandığınızdan bağımsız olarak, monitör fişi çekildiğinde bir olaya ihtiyacınız vardır. Olay, ekranın bağlantısı kesildiğinde ve tekrar bağlandığında tetiklenmelidir. Etkinliği izlemek için komut dosyasını arka plana alabilirsiniz.

Çeşitli nedenlerle Xpra kullanarak çözümü tercih ederim. Size sadece nasıl yapılacağına dair bazı ipuçları verebilirim. Çözümler tam değil ama başlamanız gerekiyor.

Xinerama Çözümü

Kurmak

Xinerama kurulumunun statik bir yapılandırmaya sahip olması için genişletilmesi gerekir: Bkz. Https://help.ubuntu.com/community/XineramaHowTo

ayrıca bkz. sahte üçüncü ekran ve Xdummy

etkilenen pencereler olsun

Windows aramak için xdotool kullanabiliriz . Daha sonra pozisyonlarını kontrol edebilir ve hareket ettirebiliriz. 1920x1080Konfigürasyonlu iki monitör olduğunu varsayıyorum . Aşağıdakiler tüm pencereleri sağdan sola xinerama ekranına taşıyacaktır.

while read xwindowid; do
    eval $(xdotool getwindowgeometry --shell "$xwindowid")
    if (( X > 1920 && X <= (1920 * 2))); then
        xdotool windowmove --relative $WINDOW -1920 y
    fi
done <<< "$(xdotool search --screen 0 '.*')"

Bir monitör bağlanırsa, artık tüm pencereleri dizüstü bilgisayar ekranınızdan (ekran0) üçüncü (sanal) bir ekrana taşıyabilirsiniz. Aynı zamanda, üçüncü ekranda depolanan herhangi bir pencereyi ilk ekrana taşıyabilirsiniz.

XPRA çözümü

Xpra'yı pencereleri hareket ettirmek için kullanmak için, tüm pencerelerin önceden Xpra tarafından yönetilmesi gerekir. Sen zorunda Xpra kullanılarak tüm masaüstü başlatmak Sistem açılışında. İki kez biri çalıştığınız ana masaüstünüz, diğeri ise esas olarak sanal bir masaüstü.

xpra start-desktop :99
xpra start-desktop :1 --exit-with-children −−attach

Artık bağlantısı kesilmiş ekran için ayrı bir xpra oturumunda Windows çalıştırabilir ve monitör değiştiğinde ekrandan bağlayabilir / çıkarabilirsiniz.

xpra attach :99
xpra detatch :99

Ayrıca, bir pencereyi gizli olarak başlatılan xpra ekranlar arasında normale taşımak istiyorsanız yararlı olabilecek , kesilmiş bir gnome kabuk uzantısı da vardır .:99:0

Olay

  • Belirli bir ekranın bağlantısının kesilmesini / yeniden bağlanmasını izleyebilirsiniz

  • belki kurulumunuzu 3 monitöre uzatmak ve isteğe bağlı bir cihazın fişini çekmek istiyorsanız , xwininfo kullanarak takılı olmayan monitörden bağımsız olmasını sağlamak için xinerama'nızın değişen boyutlarını izleyin . Bunun yalnızca xpra çözümü için çalışacağını unutmayın.

    xwininfo -display :0 -root | grep -e "-geometry"

    -geometry 5760x2160+0+0

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.