.Xdefaults
세션에서 실행 중인 모든 터미널 에 글꼴(크기)과 같은 변경 사항을 적용하는 방법이 있습니까 ?
xrdb -load .Xdefaults를 로드하여 새 터미널에 적용할 수 있지만 실행 중인 모든 터미널에 적용되지는 않습니다.
중요한 경우 우분투 15.10에서 urxvt(데몬 모드)를 터미널로 사용하고 xmonad를 창 관리자로 사용하고 있습니다.
글꼴 크기에 대해서만 글꼴 크기 perl-extension을 사용하여 열려 있는 모든 터미널에 글꼴 크기 변경 사항을 주입하는 아이디어가 있지만 어떻게 해야 할지 모르겠습니다.
답변1
빠르게 읽어보면 urxvt(1)
위의 요약에서 볼 수 있듯이 urxvt(7)
터미널 rxvt-unicode
은 글꼴을 변경할 수 있는 이스케이프 시퀀스를 지원합니다.
SYNOPSIS
# set a new font set
printf '\33]50;%s\007' 9x15,xft:Kochi" Mincho"
이러한 내용은 열려 있는 모든 터미널에 인쇄되어야 하며 .Xdefaults
이러한 인쇄에 적합한 형식을 얻으려면 일부 번역이 필요할 수 있습니다.
답변2
모든 프로그램이 구성을 다시 로드하는 기능을 지원하는 것은 아닙니다. 특히 X 리소스는 일반적으로 프로그램이 시작될 때 읽혀지며, 새 리소스를 사용해야 함을 애플리케이션에 알리는 프로토콜이 없습니다. Rxvt는 크기가 작은 경향이 있으므로 부팅 후 구성 다시 로드를 지원하지 않는 것은 놀라운 일이 아닙니다.
일부설정은 동적으로 변경될 수 있습니다. 특히,제어 시퀀스를 통해 글꼴을 변경할 수 있습니다.. 어디에서나 이러한 제어 시퀀스를 실행할 수 있으며 출력을 올바른 터미널 장치로 리디렉션하기만 하면 됩니다.
printf '\33]50;%s\007' … >/dev/pts/42
rxvt에서 제공하는 터미널 장치를 나열하는 방법이 생각나지 않습니다. 프로세스가 실행 중인 장치를 쉽게 나열할 수 있으며 그것만으로도 충분할 수 있습니다.
for pts in $(ps x -o tty= | sort -u); do
case "$pts" in pts/*) printf … >"/dev/$pts";; esac
done
1 사실 편집자라는 사람이 한 명 있습니다. 그런데 편집자라는 말을 들어본 사람이 누구입니까? 그 사람 외에는 아무도 없습니다.