====== Linux X Window / X11 ====== ===== 초기화 스크립트 ===== * ''/etc/X11/Xsession.d'' 디렉토리에 각종 초기화 스크립트가 있음. ===== 로그인 후 GUI 환경 변수 설정 ===== * [[linux:systemd|systemd]] 를 사용할 경우에는 systemd 방식의 환경변수도 기본적으로 작동한다. * [[linux:wayland|Wayland]]는 별도 방식 사용함. * ''.xprofile'' * [[linux:ubuntu|Ubuntu Linux]]에서 확실히 실행됨. 그러나 GDM과 LightDM 전용이다. * 환경변수만 넣어야 했다. 다른 기능 호출을 하면 오류 발생함. * 확인필요 : GUI 애플리케이션에 적용되는 환경변수는 **Debian/Ubuntu 계통 전용** ''.xsessionrc'' 에 ''export X=1'' 형태로 넣어주면 모든 GUI 애플리케이션에 적용된다. * 확인필요 : ''~/.pam_environment'' 환경변수는 모든 로그인시마다 실행된다. * 단, 일부 환경에서 auto start application 들은 위 환경변수설정보다 먼저 실행된다. * 확인필요 : [[linux:ubuntu|Ubuntu Linux]] [[linux:gnome|Gnome]]의 경우(혹은 다른 배포판도), ''~/.gnomerc'' 설정을 읽어들인다. * [[https://wiki.archlinux.org/index.php/environment_variables|Environment Variables - Arch]] ===== .xprofile 에서 systemd 형태 환경변수 읽기 ===== * [[linux:systemd|systemd]] 방식 환경변수(''~/.config/environment.d/*.conf'')가 만약에 작동하지 않는다면 유사 형태로 만들 수 있다. * systemd 방식은 스크립트는 안된다. ''KEY=value'' 방식이다. * ''.xprofile'' 을 다음과 같은 형태로 작성하면 systemd 형식 환경변수 지정도 함께 사용가능하다. # systemd environment.d 를 X11/Gnome 환경에서도 읽도록 한다. # 오름차순 정렬을 위해서 ls 명령으로 순회한다. set -o allexport # set -a for conf in `ls ~/.config/environment.d/*.conf` do source "$conf" done set +o allexport # set +a ===== 각 설정 파일의 차이 ===== * [[https://unix.stackexchange.com/questions/281858/difference-between-xinitrc-xsession-and-xsessionrc|x11 - Difference between .xinitrc, .xsession and .xsessionrc - Unix & Linux Stack Exchange]] ===== Zoom mode ===== * 화면을 확대하는 모드. 마우스 움직임에 따라 확대부분으로 이동한다. * 켜기 / 끄지 : ''Alt+마우스휠'' 혹은 ''Ctrl+Alt+Keypad-Plus / Ctrl+Alt+Keypad-Minus'' * 불가능하게 하기''DontZoom'' option is set in the ServerFlags section of ''/etc/X11/xorg.conf''. Option "DontZoom" "false" * [[linux:xrandr|XRandr]] 로 조정가능