Gnome + Wayland поддерживают это. См. Как настроить масштабирование монитора -на Wayland? .
Обратите внимание, что приложения, использующие XWayland (в большинстве случаев не -gnome и не -kde, такие как Firefox и т. д. )еще не -масштабируются неправильно.
Если коэффициент 2x вам не подходит, скоро будет поддержка дробного масштабирования . Это экспериментальный в Gnome 3.26.
Альтернативы:
Проблемы синтаксиса в стороне, это то, как вы звонитеeval
:
$(eval $(shuf -n1 -e "${SOURCES[@]}"))
Внешний $(...)
означает, что eval происходит внутри подоболочки, затем текущая оболочка берет вывод и выполняет этот как команду.
Поскольку eval работает в подоболочке, содержимое переменной исчезнет вместе с подоболочкой.
Нужен ли вам eval
? Команда shuf
создаст строку с тем же именем, что и функция. Вместо этого вы могли бы написать:
func=$(shuf -n1 -e "${SOURCES[@]}") && "$func"
или просто
$(shuf -n1 -e "${SOURCES[@]}")
В последнем случае мы действительно хотим, чтобы оболочка выполняла вывод shuf как команду