====== Gnome ======
* https://www.gnome.org/
* http://www.gnome.or.kr/
* [[https://apps.gnome.org/ko/|Gnome Apps]]
* [[linux:gnome:extension|Gnome Shell Extension]]
* [[linux:alacarte|alacarte]]
* [[linux:x|Linux X Window / X11]]
* [[linux:autologin|부팅 후 자동 로그인 및 즉시 화면 락걸기 (Autologin, screen lock)]]
===== 3.36~ 현재 문제점 =====
* ''ibus'' 가 아니면 gnome search 등에서 한글 입력이 불가하고, ''ibus''를 깔아도 한글 입력하면 매우 버벅인다.
* ''gnome-shell'' 프로세스에 **Memory Leak**이 발생한다. 초기 시작시에는 600MB 정도의 메모리만 사용하지만 지속적으로 증가한다.
* 이 문제는 ''gnome-shell'' 자체의 문제일 수도 있고 특정 extension 의 문제일 수도 있다.
* 지속적으로 보이며, ''Alt+F2'' -> ''r'' 로 ''gnome-shell''을 재시작하여 해결한다.
* [[linux:wayland|Wayland]] 사용시 좀 더 괜찮다는 얘기도 있긴한데 확인 못함.
* 특정 extension 이 문제인지 extension을 최소한으로 사용하여 확인해보는 것도 좋을 듯.
===== 입력기 Input Method 설정 =====
* [[linux:inputmethod|Input Method (입력기, 한글)]]에서 Gnome 환경에서 ''ibus''와 다른 입력기를 복합으로 사용하는 방법을 살펴볼 것.
===== Gnome Tweaks =====
* https://wiki.gnome.org/Apps/Tweaks
* https://github.com/GNOME/gnome-tweaks
* Gnome 의 기본 설정은 매우 제한적이고 가장 중요한 사항들만 설정 가능하게 돼 있어서 미세 조정하려면 Gnome Tweaks 를 설치해야 한다.
===== Settings =====
* ''%%gnome-control-center --list%%'' 설정 목록 확인
* ''gnome-control-center display'' : **Display Settings** 열기
===== 전체 설정값 보기 =====
gsettings list-recursively
===== App Grid 초기화 =====
* [[https://www.omgubuntu.co.uk/2020/11/reset-gnome-shell-applications-grid|How to Reset the Apps Grid in GNOME 3.38 - OMG! Ubuntu!]]
===== Animation 끄기 =====
* Gnome shell 에서 lag 이 느껴진다면 애니메이션을 끄는게 나아 보인다.
* Ubuntu 20.04, Gnome 3.36.3 에서 나는 심하게 lag 을 느끼고 있음.
* **''gnome-tweaks'' -> 일반 -> 애니메이션**을 끈다.
===== Display 설정 변경 =====
* [[linux:xrandr|XRandr]]
* [[linux:hidpi|Linux HighDPI]]
* [[https://itectec.com/ubuntu/ubuntu-changing-ui-scaling-from-command-line/|Ubuntu – Changing UI scaling from command line – iTecTec]] : ''mutter'' 등이 ''xrandr'' 설정 변경을 올바로 반영 못함.
* ''~/.config/monitors.xml'' 파일도 함께 변경해야만함.
===== App Grid 초기화 =====
* Gnome 3.38 부터 Application Grid 를 마음대로 그루핑할 수 있게 되었음.
* 이를 초기화 하는 방법
gsettings reset org.gnome.shell app-picker-layout
# 이후 Alt+F2 누르고, r 로 Gnome Shell reload
===== Battery % 보여주기 =====
gsettings set org.gnome.desktop.interface show-battery-percentage true
===== Gnome shell reload =====
* ''Alt-F2'' 로 명령실행창을 띄운뒤에 ''r'' 실행하면 Gnome Shell 을 reload 한다.
* 다음 명령 한 줄이 3.38 현재 가장 잘 됨.
busctl --user call org.gnome.Shell /org/gnome/Shell org.gnome.Shell Eval s 'Meta.restart("Restarting…")'
* 위 명령이 안되면
killall -HUP gnome-shell
* ''gnome-shell %%--%%repace'' 명령을 실행한다.
* Gnome 3.30부터, 이 명령 실행시 Gnome 이 죽고로그인을 다시해야 했음. 확장도 모두 비활성화 상태가 되어서 다시 활성화 해야함.
* 확장을 설치하고나서 즉시 실행해보고자 할 때 등에 사용한다.
* [[https://www.linuxuprising.com/2020/07/how-to-restart-gnome-shell-from-command.html|How To Restart GNOME Shell From Command Line Without Closing Any Applications (X11 Only) - Linux Uprising Blog]]
===== 작업공간 조정 =====
* ''gnome-tweaks''로 작업공간을 고정 갯수로 변경한다. 동적 갯수로 할 경우에 내가 원하는 작업 공간에 원하는 애플리케이션들을 고정시켜 두지 못한다.
{{:linux:스크린샷_2020-06-10_09-32-50.png?400|}}
* 현재 작업공간에서만 애플리케이션 스위칭을 하려면 ''dconf-editor''에서 다음 값을 ''true''로 변경해준다.
* ''/org/gnome/shell/app-switcher/current-workspace-only''
* ''/org/gnome/shell/window-switcher/current-workspace-only''
* ''dash-to-dock'', ''ubuntu-dock'', ''dash-to-panel'' 등의 플러그인에서는 각각의 플러그인 설정을 따른다.
# workspace 갯수 고정
gsettings set org.gnome.mutter dynamic-workspaces false
gsettings set org.gnome.desktop.wm.preferences num-workspaces 4
# 현재 작업공간에서만 애플리케이션 스위칭
gsettings set org.gnome.shell.app-switcher current-workspace-only true
gsettings set org.gnome.shell.window-switcher current-workspace-only true
===== 창 끌어 옮기기 키 =====
* **''gnome-tweaks'' -> 창 -> 창 동작키**를 ''Alt''로 바꾸면 ''Alt+마우스 좌클릭''으로 창을 이동할 수 있다.
* 그냥 ''Super'' 키 상태로 두고 사용중.
===== gnome-shell-extension-prefs =====
* gnome 확장 설정(Gnome Tweaks 없이도 가능)
===== 시작프로그램 : gnome-session-properties =====
* 시작 프로그램을 설정할 수 있다.
* 메뉴에 있는 애플리케이션 뿐만 아니라, 자유롭게 명령을 추가 삭제 가능하다.
* 메뉴에 있는 애플리케이션을 시작 프로그램으로 등록하는 것은 ''gnome-tweaks''로 하면 더 편하다.
===== ~/.config/autostart =====
* 시작 프로그램을 설정하면, 이 디렉토리에 ''*.desktop'' 파일로 들어간다.
* 시작 프로그램을 수동등록하려면, ''/usr/share/applications'' 에 있는 ''*.desktop'' 파일을 복사해둬도 된다.
* ''X-GNOME-Autostart-Delay=10'' 항목을 넣으면 지정된 초(seconds)만큼 지연돼서 프로그램을 시작한다.
* QT 애플리케이션에 HiDPI Scaling 이 잘 안먹은 상태로 자동 시작되면 지연을 시켜주면 됐다.
* 기본적인 형태를 갖춰 직접 파일을 만들어 넣어주면 된다.
[Desktop Entry]
Name=ApplicationName
Exec=/path/to/application
Type=Application
Terminal=false
Type=Application
X-GNOME-Autostart-enabled=true
# 기타 참고 정보
X-GNOME-Autostart-Delay=10
X-KDE-autostart-after=panel
* [[https://yejincheng.cc/blog/gnome-shell-run-script-after-login/|gnome-shell-run-script-after-login • Ye Xing]]
===== *.desktop 파일 실행 =====
* Gnome 3 의 Nautlius 파일 관리자는 기본적으로 올바른 경로(''/usr/share/applications'', ''~.local/share/applications'' 에 있는 ''*.desktop'' 파일만 실행한다.
* 바탕화면등에 있는 것을 실행하려면 [[https://extensions.gnome.org/extension/2087/desktop-icons-ng-ding/|Desktop Icons NG(Ding) - 추천]] / [[https://extensions.gnome.org/extension/1465/desktop-icons/|Desktop Icons]] 확장을 설치하고
* 해당 파일 아이콘에서 마우스 우클릭하고 **Allow Launching** 설정을 해줘야 한다.
===== ~/.gnomerc =====
* [[linux:wayland|Wayland]] 는 별도 방식 사용함.
* [[linux:ubuntu|Ubuntu Linux]] 계열 Gnome 환경에서는 로그인할 때 ''~/.gnomerc''를 읽어서 환경변수 등을 등록해줄 수 있다.
* ''/etc/X11/Xsession.d/55gnome-session_gnomerc'' 에 관련 설정 있음.
* GUI 애플리케이션에 필요한 환경변수를 지정해주면 좋다.
* 참조: [[linux:x|Linux X Window / X11]]
* Ubuntu Gnome, Pop! OS Gnome 등에서는 작동하지 않았다. 아마도 Ubuntu Vanila Gnome 에서만 작동할 것으로 보인다.
* Ubuntu 에서는 ''.xprofile'' 을 사용해야 했다.
===== 핫 코너(hot corner, Activities) 비활성화 =====
* 마우스 커서가 좌상단 코너로 이동하면 Activities 목록이 나오는 것을 Activities Hot Corner 라고 함.
* ''gnome-tweaks''의 **최상위 표시줄 -> 활동 개요 핫 코너**를 off 해주면 된다.
===== Panel button margin / padding =====
* [[https://unix.stackexchange.com/questions/80542/change-reduce-gnome-3-horizontal-icon-padding-in-notification-area-debian-whe|gnome3 - Change (reduce) Gnome 3 horizontal icon padding in notification area (Debian Wheezy) - Unix & Linux Stack Exchange]]
* ''~/.themes/kwon37xi-custom/gnome-shell/gnome-shell.css'' 를 다음과 같이 만들고(혹은 ''/usr/share/themes''에서 복를 한 뒤에) **.panel-button** 항목의 ''hpadding''값을 작게 변경한다.
.panel-button {
-natural-hpadding: 1px;
-minimum-hpadding: 1px;
}
* ''gnome-tweaks'' 에서 gnome-shell 테마를 선택해준다. 나머지 설정은 기본값을 자동 임포트한다.
* ''dash-to-panel'' 플러그인 사용시에는 테마 설정은 불필요하고, 위 값과 동일하게 **Fine-Tune -> Tray Icon Padding/Status Icon Padding** 등을 조정해준다.
* [[https://stackoverflow.com/questions/9943531/how-to-change-gnome3-panel-padding-on-linux-mint-12|gnome - How to change GNOME3 panel padding on Linux Mint 12? - Stack Overflow]] *
===== Command Line 명령 =====
* https://askubuntu.com/questions/1095553/invoking-gnome-activities-overview-from-command-line
# Overview/Activities Main.overview.show() 는 보여주기 hide() 는 숨기기
# Main.overview.toggle()
dbus-send --session --type=method_call --dest=org.gnome.Shell /org/gnome/Shell org.gnome.Shell.Eval string:'Main.overview.show();'
* [[https://www.reddit.com/r/gnome/comments/emkaxp/invoking_gnome_show_applications_from_command_line/|Invoking GNOME “Show applications” from command line : gnome]]
dbus-send --session --type=method_call --dest=org.gnome.Shell /org/gnome/Shell org.gnome.Shell.Eval string:'Main.shellDBusService.ShowApplications();'
* [[linux:wmctrl|WMCtrl]] : 각종 창, 작업공관 관련 명령
===== 경보음 끄기 gnome alert beep =====
* [[linux:theme:sound|Linux Sound Theme]] 를 변경해야만 삑삑 소리를 다른 부드러운 음으로 바꿀 수 있다.
* [[https://unix.stackexchange.com/questions/444681/how-to-turn-off-alert-sounds-sound-effects-on-gnome-from-terminal/444869#444869|audio - How to turn off alert sounds/sound effects on Gnome from terminal? - Unix & Linux Stack Exchange]]
* 이걸 하면 스크린샷 찍을 때 알림음등 모든 알림음이 다 꺼짐. -> 안함.
dconf write /org/gnome/desktop/sound/event-sounds "false"
# 혹은
gsettings set org.gnome.desktop.sound event-sounds false
===== System Tray Icon =====
* Legacy Tray Icon 은 https://extensions.gnome.org/extension/2890/tray-icons-reloaded/ 설치.
* [[https://extensions.gnome.org/extension/1301/ubuntu-appindicators/|ubuntu-appindicators]]를 설치는 off 해준다.
* [[linux:gnome:extension|Gnome Shell Extension]]에서 Tray Icon 관련 항목 참조.
===== Mouse 위치 찾기 =====
* ''gnome-tweaks'' 에서 설정하거나
gsettings set org.gnome.desktop.interface locate-pointer true
* [[linux:launcher:ulauncher|ULauncher]] 와 충돌함. ''false''로 끄는게 나음.
===== Theme =====
* [[linux:theme|Linux Themes]]
# GTK Theme by cli
gsettings set org.gnome.desktop.interface gtk-theme
# Window Manager Theme by cli
gsettings set org.gnome.desktop.wm.preferences theme
===== 참조 =====
* [[https://wiki.gnome.org/Gnome3CheatSheet|Gnome3CheatSheet - GNOME Wiki!]]
* [[https://www.youtube.com/watch?v=KSQxPnKwNc8|Gnome Shell Tutorial : Desktop Workflow Explained - YouTube]]
* [[https://www.youtube.com/watch?v=AEUaTDltqAA|What's new in GNOME Shell 3.36? | GNOME 3.35.90 beta release - YouTube]]
* [[https://fosspost.org/lists/turn-gnome-to-heaven-with-these-23-gnome-extensions|Turn GNOME To Heaven With These 23 GNOME Extensions]]
* [[https://www.reddit.com/r/gnome/comments/gpbq7b/tutorial_stripping_the_ubuntu_desktop_into/|[Tutorial] Stripping the Ubuntu Desktop into Vanilla Gnome : gnome]] : Ubuntu 에서 순수 Gnome ''vanilla-gnome-desktop'' 설치하기. 원래 우분투는 ''ubuntu-gnome-desktop'' 을 설치함.
* https://vitux.com/how-to-install-vanilla-gnome-desktop-on-ubuntu/