Xorg'da yüksek dpi ekran için uygulama başına pencere ölçeklendirme


28

Gnome Shell'i 4k monitörle çalıştırıyorum ve kullandığım, yüksek çözünürlükle ölçeklemeyen birkaç uygulama var.

İşte henüz Qt 5 ile taşınmamış bir uygulama olan LMMS örneği, bu nedenle yüksek dpi ölçeklendirme özelliğine sahip değil:

Ekran görüntüsü
(Büyütmek için resimlere tıklayınız)

Ekran çözünürlüğünü değiştirmeden belirli bir X penceresini ölçeklendirmenin bir yolu var mı?

Mevcut çözümüm, ekran çözünürlüğümün yarısı kadardır, ancak bu uygun dpi ölçeklendirmeyi destekleyen diğer tüm uygulamaların çözünürlüğünü düşürür:

Ekran görüntüsü

Yanıtlar:


20

Sonunda, gözle görülür bir görsel veya performans kaybı olmadan eski uygulamaları ölçeklendiren bir çözüm bulmayı başardım.

Kaueraal sayesinde artık eski uygulamaları kullanarak ölçeklendirebilirsiniz run_scaled. Ya onun komut dosyası elde edebilirsiniz GitHub sayfasında veya aracılığıyla AURrun_scaled-git Arch Linux iken.

Yan yana çalışan iki uygulamaya bir örnek:

  • Solda HiDPI destekli Firefox
  • run_scaledSağda çalışan LMMS

görüntü tanımını buraya girin

Bu betiği Arch Linux Wiki üzerinden keşfettim .


Ubuntu'da yüklemeniz gerekirxpra
Pablo A

Bu program çok fazla işlemci kullanıyor.
L29Ah

6

Karşılaştığınız sorunu görmeden, kullanmanızı öneririm.

GDK_SCALE=x

veya

GDK_DPI_SCALE=x

Her uygulamaya başlamadan önce. Büyük olasılıkla .desktopdosyaları el ile değiştirmeniz veya komutları önek ekleyerek kabuğunuzdan çalıştırmanız gerekecektir.GDK_SCALE=x

GDK_SCALEsadece interger değerlerine GDK_DPI_SCALE=xizin verirken ie gibi ondalık değerlere izin verir.GDK_DPI_SCALE=0.66

Diğer SDK tabanlı uygulamalar için, ilgili kitler için muhtemelen benzer ayarlar vardır. Ancak, sorununuz gnome masaüstünde olduğu için bu çözümü sağlayacağım.

Bir 4k monitör ile denemedim, ancak çalışan GDK_DPI_SCALE=1.66 gnome-calculatorçözümü demo olacak.

Kaynak: https://developer.gnome.org/gtk3/stable/gtk-x11.html


1
Cevabınız için teşekkürler, ama bu Xlib uygulamaları için işe yaramaz.
Ho1

3
Cevabınız için teşekkürler, ama aradığım şey bu değil. Yalnızca GTK3 kullanmayan uygulamalarda ölçeklendirme sorunlarıyla karşılaşıyorum. Herhangi bir X uygulamasına uygulanabilecek bir çözüm bulmayı umuyordum.
MetaDark

wiki.archlinux.org/index.php/HiDPI , hem GTK hem de GTK dışı uygulamalar için yardımcı olabilecek bilgilere sahiptir. Bunun için bir cevap verirdim, ancak bilgiyi bir cevap postasına çevirmek istemiyorum.
Emmaly Wilson

2

Birçok pencerenin xpraaçıldığı bir uygulamam var ve şu anda kabul edilen run_scaled çözümünün gerektirdiği şekilde kullanamıyorum . Ayrıca Gnome-Tweak-Tool'un 2x ölçeklemesine katlanamıyorum. Çok büyük 1.5x gerekir.

TigerVNC java istemcisinin% 150 müşteri tarafı ekran ölçeklendirmesini desteklediğini keşfettim.

Böylece 2/3rds boyutunda ve minimal bir windows yöneticisine sahip bir vncserver başlatıyorum:

vncserver -geometry 2520x1380 -xstartup ~/.vnc/xstartup-mwm

Daha sonra TigerVNC'nin v1.7 java istemcisiyle bağlantı kurdum (1.8.0 sürekli benim için çöküyor):

java -jar VncViewer-1.7.0.jar -ScalingFactor=150

Komut satırı dışında, F8VNC Görüntüleyici Seçeneklerini almak için tuşuna basabilirsiniz . Ekran-> Ölçeklendirme Faktörü->% 150. Bu, çözünürlüğü 4k ila 4k arasında 2/3 oranında ölçeklendirir.

görüntü tanımını buraya girin

VNC'de Arkaik MWM, solda% 150 ölçeklendirme ile. Sağ tarafta süslü Gnome masaüstü (yerel), ölçeklendirme yok. Küçük ikonları fark edeceksiniz. Gnome, gnome-tweak aracında 1.5x Yazı Tipi Ölçeklendirme ile 4k için ayarlanır, ancak simgeler ölçeklenmez. Bu sadece örnek bir uygulamadır - beni bu şekilde iten uygulamadaki simgeler ve ölçeklendirme çok daha kötüdür.

Ne yazık ki bu, ayrı bir pencere yöneticisine sahip 1.5x ölçekli bir masaüstünün tamamı. Çoklu pencere uygulamam için güzel bir duvarlı alan oluşturuyor, ancak ikinci bir pencere yöneticisine sahip olmak sinir bozucu. Bununla birlikte, VNC uzun zamandır kullandığımdan beri aşina olduğum bir şey ve bu oldukça kolay bir şekilde dizüstü bilgisayara aktarılıyor, bu yüzden belki de kullanılabilir.


1

Vncdesk size yerel bir VNC müşteri sunucusuna dayalı bir çözüm sunar ( buraya bakın )

Benim için tam bir çözüm değil, çünkü uygulama bir pencere yöneticisine ihtiyaç duyuyorsa bazı problemler veriyor.

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.