Niektóre aplikacje (głównie oparte na Javie) nie są zgodne z globalną skalą 2x, którą ustawiłem w ustawieniach ekranu. Więc te aplikacje są naprawdę małe na moim ekranie o wysokiej DPI z rozdzielczością 3200x1800px.
Jak mogę uruchomić te aplikacje w mniejszej rozdzielczości ekranu?
java
display-resolution
dpi
hdpi
scale-mode
rubo77
źródło
źródło
data/bin/studio.sh
:eval "$JDK/bin/java" $ALL_JVM_ARGS -Djb.restart.code=88 -Dis.hidpi=true $MAIN_CLASS_NAME "$@"
- ale bez efektuOdpowiedzi:
Ważnym ulepszeniem byłoby użycie skryptu w tle, automatycznie ustawiającego rozdzielczość dla każdej aplikacji , podczas gdy można ustawić różne rozdzielczości dla różnych (wielu) aplikacji jednocześnie.
To właśnie robi poniższy skrypt.
Przykład domyślnej rozdzielczości
1680x1050
:Uruchomiony
gedit
, automatycznie zmienia się na640x480
:Uruchomiony
gnome-terminal
, automatycznie zmienia się na1280x1024
:Po zamknięciu aplikacji rozdzielczość jest automatycznie przywracana do
1680x1050
Jak używać
set_resolution.py
W nagłówku skryptu ustaw domyślną rozdzielczość w wierszu:
W tym samym katalogu (folderu), utwórz plik tekstowy, dokładnie o nazwie:
procsdata.txt
. W tym pliku tekstowym ustaw żądaną aplikację lub proces, następnie spację, a następnie żądaną rozdzielczość. Jedna aplikacja lub skrypt na wiersz, wyglądający jak:Uruchom skrypt za pomocą polecenia:
Uwaga
Zastosowanie skryptu
pgrep -f <process>
, który przechwytuje wszystkie dopasowania, w tym skrypty. Możliwym minusem jest to, że może powodować konflikty nazw podczas otwierania pliku o tej samej nazwie co proces.Jeśli napotkasz takie problemy, zmień:
w:
Scenariusz
Wyjaśnienie
Po uruchomieniu skryptu odczytuje plik, w którym zdefiniowałeś aplikacje i odpowiadające im pożądane rozdzielczości ekranu.
Następnie śledzi uruchomione procesy (działające
pgrep -f <process>
dla każdej aplikacji) i ustawia rozdzielczość, jeśli aplikacja się uruchomi.Gdy
pgrep -f <process>
nie generuje danych wyjściowych dla żadnej z wymienionych aplikacji, ustawia rozdzielczość na „domyślną”.Edytować:
Wersja „dynamiczna” (na żądanie)
Chociaż powyższa wersja działa z wieloma wymienionymi aplikacjami, ustawia rozdzielczość tylko dla jednej aplikacji na raz .
Poniższa wersja może obsługiwać różne aplikacje o innej (wymaganej) rozdzielczości, działające jednocześnie. Skrypt w tle śledzi, która aplikacja znajduje się na pierwszym planie, i odpowiednio ustawia rozdzielczość. Działa również dobrze z Alt+ Tab.
Zauważ, że takie zachowanie może być denerwujące, jeśli często przełączasz się między aplikacjami na pulpicie a aplikacjami z listy; częsty przełącznik rozdzielczości może być za duży.
różnice w konfiguracji
Konfiguracja jest prawie taka sama, poza tym, że ta używa
wmctrl
ixdotool
:Scenariusz
Notatki
źródło
sleep 5 && cat "/proc/$(xdotool getwindowpid "$(xdotool getwindowfocus)")/comm"
: ustaw ostrość w ciągu 5 sekund, a otrzymasz żądaną nazwę (źródło: askubuntu.com/a/508539/34298 )Przetestuj dodawanie do wiersza polecenia Java:
-Dsun.java2d.uiScale=2.0
lub ustaw odpowiedni współczynnik skali.źródło
Jako obejście
Utworzyłem skrypt bash, który zmienia rozdzielczość na fullHD przed uruchomieniem aplikacji (w tym przykładzie Android Studio) i zmienia ją z powrotem na 3200 x 1800, gdy aplikacja zostanie zamknięta:
Wpisz ten skrypt:
i nadać mu prawa do wykonywania:
Następnie możesz zacząć od Alt+F1
studio
Dla innych współczynników zmiany wielkości, które 2.0 zobacz /ubuntu//a/486611/34298
Aby łatwo włączać i wyłączać powiększanie w przeglądarce Firefox, użyj rozszerzenia Zoom Menu Elements
źródło