Linux Programmer

GNOME 3 터치패드 4손가락 설정 방법 - 1편 본문

컴퓨터 관련/리눅스 데스크탑

GNOME 3 터치패드 4손가락 설정 방법 - 1편

sunyzero 2023. 8. 7. 07:48

적용 및 테스트 배포판 = Fedora 36, 37, 38, 39 (페도라를 업그레이드하는 경우 맨 아래의 주의점 꼭 읽을 것)

마지막 수정 : 2023-12-23

GNOME3 데스크탑 환경에서 터치패드 사용시 네손가락 제스처(four fingers gesture)를 설정하는 방법에 대해 설명한다. 기본적으로 GNOME3 데스크탑 환경의 터치패드 제스처는 세손가락(three fingers) 사용이 기본값이다. 예를 들어 GNOME3에 기본 설정된 세손가락 제스처 기능은 다음과 같다. 

[Three fingers] swipe UP (위로 밀기) 데스크탑 앱 목록 고르기
[Three fingers] swipe LEFT (왼쪽으로 밀기) 왼쪽 방향으로 화면 스위치
[Three fingers] swipe RIGHT (오른쪽으로 밀기) 오른쪽 방향으로 화면 스위치

 애플 맥북의 OSX에도 비슷한 기능이 있지만, 대부분 설정에서 four fingers로 수정해서 사용하는 것처럼, 리눅스에서도 맥북처럼 설정만 해주면 다양한 제스처와 손가락 개수를 조절할 수 있다. 하지만 다양한 제스처를 사용하려면 GNOME 3에서는 제공하지 않으므로, touchegg라는 외부 프로그램을 이용한다. 특히 touchegg를 이용하여 세손가락, 네손가락을 사용하여 밀기(swipe), 꼬집기(pinch in), 꼬집은 손가락을 펴기(pinch out) 같은 다양한 제스처를 사용할 수 있다.

 그러나 touchegg 사용시 GNOME 3의 기본값인 three fingers 제스처의 위,왼쪽,오른쪽 밀기 동작은 충돌이 발생한다. 물론 touchegg의 모든 동작을 four fingers로 변경해도 되지만, 상당히 귀찮아진다. 따라서 GNOME 3의 제스처 손가락 개수의 기본값을 three fingers에서 four fingers로 바꾸는 편이 더 낫다.

 GNOME 3 기본 제스처의 손가락 개수를 변경하는 방법은 2가지가 존재한다. 첫번째는 GNOME3 데스크탑 로그인시 유저의 로컬 커스텀 설정으로 overriding 방법이 있다. 커스텀 설정을 덮어씌우는 방식이므로 시스템을 변경하지 않는 장점이 있다. 당연히 커스텀 설정은 유저의 홈디렉토리에 저장되므로 다른 호스트 이동할 때도 복사하면 된다. 두번째 방법은 시스템 전역의 설정을 변경하기 위해 시스템에 설치된 라이브러리 파일을 변경하는 방법이다. 일반적으로 여러 유저를 변경해가면서 사용하는 시스템이 아니라면 첫번째 방법을 추천한다.

 

0. 준비물

작업할 때 gresource 명령어를 사용하는데, 이 파일은 glib2-devel 패키지에 속해있다. 기본으로 설치되어있지 않을 수도 있으므로 미리 설치해두자. 페도라의 경우, dnf를 사용하여 다음과 같이 명령한다.

# dnf -y install glib2-devel




1. GNOME 3 유저 설정 오버라이드 방법

먼저 GNOME 3 실행시 유저 홈디렉터리의 사용자 설정 파일을 오버라이딩하여 적용하는 방법부터 살펴보자. 이 방법은 2개의 파일을 생성해야 한다.

~/.config/environment.d/gnome-shell-overlay.conf GNOME shell 실행시 읽어들일 환경 설정 파일
~/.gnome-shell-custom-overlays/ui/swipeTracker.js 4 손가락 설정이 패치된 JS 스크립트 파일

 

위 2개의 파일을 수동으로 명령하여 생성 및 편집하는 방법도 가능하다. 하지만 오타의 염려가 있으므로 자동화된 스크립트를 사용하는 것이 좋다. 본인이 작성한 자동화된 스크립트는 조금 아래에 적어두도록 하겠다.

 

1.1. bash 스크립트 코드

이 자동화를 위한 bash 스크립트는 iberianpig가 작성한 것을 약간 수정하였다. 원본인 iberianpig의 스크립트는 글을 작성하는 시점에서 주로 쓰이는 Fedora 36,37,38,39 버전에서는 라이브러리나 javascript module이름이 달라서 작동하지 않았기 때문에 재작성을 했다. 변경점은 문서 끝에 설명해두도록 하겠다.

iberianpig의 원본 URL = https://gist.github.com/iberianpig/6e7049a02489950f570b4a27cff8df5e

 

아래의 bash 스크립트를 change_gnomeshell_finger_count_fedora.sh 로 저장하고, 실행시 인수로 손가락 갯수를 넣어준다. 예를 들어 4손가락을 사용한다면 "./change_gnomeshell_finger_count_fedora.sh 4"로 실행하면 된다. 

 

#!/bin/bash
# reference url
#   https://gist.github.com/iberianpig/6e7049a02489950f570b4a27cff8df5e
#
# Tested on Fedora 36,37,38
# Fedora38 = libshell-12.so
# Fedora39 = libshell-13.so
FILENAME_SWIPETRACKER_JS=swipetracker.js,swipeTracker.js
FILE_LIBGNOMESHELL_UI=/usr/lib/gnome-shell/libgnome-shell.so,/usr/lib64/gnome-shell/libgnome-shell.so,/usr/lib64/gnome-shell/libshell-12.so,/usr/lib64/gnome-shell/libshell-13.so

# find_and_set_filelist <variable_name_filelist_in_CVS> <variable_name_jsmodulenamelist_in_CVS>
find_and_set_filelist() {
    if [ $# -ne 2 ]; then
        >&2 echo "[EE] Invalid argument."
        return 1
    fi

    # check if the library file exists
    flag_found_file=0
    v_name=$1
    v_value=$(eval echo \$$1)
    IFS=, && for ii in ${v_value};
    do
        if [ -f $ii ]; then
            eval $v_name=$ii
            flag_found_file=1
            break
        fi
    done
    IFS=
    if [ $flag_found_file -eq 0 ]; then
        >&2 echo "[EE] File not found (1) : $v_name=${v_value}"
        return 1
    fi

    # check if the javascript module file we want to customize is in the gresource list
    flag_found_file=0
    v_name=$2
    v_value=$(eval echo \$$2)
    IFS=, && for ii in ${v_value};
    do
        # $1 = absolute path of a libgnome-shell.so or libshell-12.so, $ii = swipeTracker.js or swipetracker.js
        if gresource list $(eval echo \$$1) | grep -q $ii; then
            eval $v_name=$ii
            flag_found_file=1
            break
        fi
    done
    IFS=
    if [ $flag_found_file -eq 0 ]; then
        >&2 echo "[EE] File not found (2) : $v_name=${v_value}"
        return 1
    fi
    return 0
}

# setup_custom_gnome_shell_env <finger_count 3|4|5>
setup_custom_gnome_shell_env() {
    if [ $# -ne 1 ]; then
        >&2 echo "[EE] Invalid argument."
        return 1
    fi

    eval ORGPATH_SWIPETRACKER_JS=/org/gnome/shell/ui/${FILENAME_SWIPETRACKER_JS:?}
    eval FILE_GNOMESHELL_USER_CUSTOM_UI=$HOME/.gnome-shell-custom-overlays/ui/$FILENAME_SWIPETRACKER_JS

    # create a directory to hold your custom overlays
    mkdir -p $(dirname $FILE_GNOMESHELL_USER_CUSTOM_UI)

    # extract the file we want to customize
    echo "System library = ${FILE_LIBGNOMESHELL_UI:?}"
    echo "  + org path:Module(JS) = ${ORGPATH_SWIPETRACKER_JS:?}"
    echo "Custom JS file = ${FILE_GNOMESHELL_USER_CUSTOM_UI:?}"
    gresource extract $FILE_LIBGNOMESHELL_UI $ORGPATH_SWIPETRACKER_JS > $FILE_GNOMESHELL_USER_CUSTOM_UI

    # change the gesture_finger_count value
    set -e
    grep -E 'const (gesture_finger_count|GESTURE_FINGER_COUNT) = [[:digit:]]' $FILE_GNOMESHELL_USER_CUSTOM_UI
    set +e
    sed -i -r "s:const (gesture_finger_count|GESTURE_FINGER_COUNT) = [[:digit:]];:const \1 = ${finger_count};:" $FILE_GNOMESHELL_USER_CUSTOM_UI

    # set the g_resource_overlays environment variable in ~/.config/environment.d/gnome-shell-overlay.conf
    FILE_GNOMESHELL_USER_CUSTOM_CONFIG=$HOME/.config/environment.d/gnome-shell-overlay.conf
    mkdir -p $(dirname $FILE_GNOMESHELL_USER_CUSTOM_CONFIG)
    echo 'g_resource_overlays="'$ORGPATH_SWIPETRACKER_JS=$FILE_GNOMESHELL_USER_CUSTOM_UI'"' > $FILE_GNOMESHELL_USER_CUSTOM_CONFIG
    echo "Custom CONFIG  = ${FILE_GNOMESHELL_USER_CUSTOM_CONFIG:?}"
}

function gnome-wayland-change-finger-count() {
  local finger_count=$1
  case "${finger_count}" in
    3|4|5)
      echo "changing finger count to ${finger_count}"
      find_and_set_filelist FILE_LIBGNOMESHELL_UI FILENAME_SWIPETRACKER_JS
      [ $? -ne 0 ] && { >&2 echo "[EE] Fail = find_and_set_filelist"; exit 1; }
      setup_custom_gnome_shell_env $finger_count
      [ $? -ne 0 ] && { >&2 echo "[EE] Fail = setup_custom_gnome_shell_env"; exit 1; }
      ;;
    *)
      echo "usage: $0 [3|4|5]"
  esac
}

if [ $# -eq 1 ]; then
    n_fingers=$1
fi
gnome-wayland-change-finger-count ${n_fingers:=4}

위 bash 스크립트 파일을 /usr/local/bin에 저장해두고, 실행권한을 부여하도록 하자. 실행 권한 부여는 chmod +x /usr/local/bin/change_*.sh 식으로 명령하면 된다.

이제 터치패드 설정을 원하는 유저로 로그인 한 뒤에 실행하자. 다시 로그인을 해야 적용되므로 X 윈도우를 로그아웃했다가 다시 들어오면 된다. 만일 bash 스크립트 실행시 에러가 발생한다면, 리눅스가 너무 낮은 버전이거나 혹은 파일명이나 다른 것이 조금 다를 수도 있다. 해결 방법으로는 gresource list 명령을 수동으로 내려서 파일명이나 데이터를 확인해볼 필요가 있다. 이런 디버깅 과정은 초보자에게는 어려울 수 있으나, 중급자들에게는 어렵지 않으니 코드를 보고 적절하게 수정해서 사용하면 된다.

아래는 Fedora 38에서 실행한 예시이다. 처음에는 5손가락으로 변경했고, 그 다음에는 4손가락으로 변경해봤다. 디폴트 값을 4손가락으로 설정했으므로 손가락 개수를 지정하지 않으면 기본으로 4로 세팅한다.

$ uname -r
6.4.7-200.fc38.x86_64

$ change_finger_count_fedora.sh 5
changing finger count to 5
System library = /usr/lib64/gnome-shell/libshell-12.so
  + org path:Module(JS) = /org/gnome/shell/ui/swipeTracker.js
Custom JS file = /home/sunyzero/.gnome-shell-custom-overlays/ui/swipeTracker.js
Custom CONFIG  = /home/sunyzero/.config/environment.d/gnome-shell-overlay.conf


$ change_finger_count_fedora.sh
changing finger count to 4
System library = /usr/lib64/gnome-shell/libshell-12.so
  + org path:Module(JS) = /org/gnome/shell/ui/swipeTracker.js
Custom JS file = /home/sunyzero/.gnome-shell-custom-overlays/ui/swipeTracker.js
Custom CONFIG  = /home/sunyzero/.config/environment.d/gnome-shell-overlay.conf

$ ll /home/sunyzero/.gnome-shell-custom-overlays/ui/swipeTracker.js
-rw-r--r--. 1 sunyzero sunyzero 26377 Aug  7 01:10 /home/sunyzero/.gnome-shell-custom-overlays/ui/swipeTracker.js

$ ll /home/sunyzero/.config/environment.d/gnome-shell-overlay.conf
-rw-r--r--. 1 sunyzero sunyzero 121 Aug  7 01:10 /home/sunyzero/.config/environment.d/gnome-shell-overlay.conf

 

위와 같이 4손가락 세팅을 한 뒤에 재 로그인을 해보자. 참고로 GNOME3 데스크탑의 로그 아웃은 보통 우측 상단을 누르면 나오는 전원 버튼을 클릭하면 나타난다. 재로그인 뒤에 4손가락을 이용해서 좌우로 밀었을 때 화면이 스위칭된다면 잘 설정된 것이다. 그런 뒤에 3손가락으로 밀어보면 이젠 작동하지 않을 것이다.

 

1.2. 리눅스 업그레이드 후 주의점

리눅스를 업그레이드 하면 swipeTracker.js의 소스 코드도 변경될 수 있으니, bash script를 다시 실행하여 오버라이드할 JS 파일을 다시 생성해주는 것이 좋다.

 

 

2. GNOME3 system library 변경

GNOME 3 system library를 직접 수정하는 방법은 해당 라이브러리가 업데이트되면 다시 작업해줘야 하는 단점이 있다. 그럼에도 불구하고 이 방법을 사용해야 하는 필연적인 상황이 있을 수 있으니 설명을 해둔다. 참고로 이 방법은 다른 라이브러리 파일도 소스코드 없이 변경할 때 사용할 수 있는 방법이며, 약간 편법에 속하는 방법이다.

 

2.1. Hex 편집툴 사용 방법 (ghex)

먼저 hex 코드를 편집하는데 편리한 유틸리티인 ghex를 설치한다. 

# dnf -y install ghex


참고로 이 작업은 Fedora 37에서 실행하였다. Fedora 38이라면 libgnome-shell.so 대신에  libshell-12.so을 편집하도록 하자.

먼저 libgnome-shell.so 파일을 편집을 위해 적당한 곳에 복사한다. 여기서는 ~ (HOME)으로 복사하였다. 백업본으로 하나더 libgnome-shell.so_original 로 이름을 변경한 파일을 복사해두었다. 만일 에러가 발생하면 백업본을 덮어씌우면 해결할 수 있을 것이다.

$ cp /usr/lib64/gnome-shell/libgnome-shell.so ~

$ cp ~/libgnome-shell.so{,_original}

복사 후 편집할 상수값인 GESTURE_FINGER_COUNT 가 존재하는지 확인하기 위해 strings과 , grep명령을 사용해서 확인한다. 출력값에 해당 값들이 나온다면 정상이다.

$ strings libgnome-shell.so |grep GESTURE_FINGER
const GESTURE_FINGER_COUNT = 3;
        if (event.get_touchpad_gesture_finger_count() !== GESTURE_FINGER_COUNT)
            GESTURE_FINGER_COUNT,


ghex libgnome-shell.so 명령으로 파일을 열고 const GESTURE_FINGER_COUNT 상수값 선언 부분을 찾는다. 아래는 ghex에서 찾은 이미지이다.

ghex 실행 화면

GESTURE_FINGER_COUNT = 3 부분에서 3을 4로 변경하면 된다. 변경하는 방법은 HEX 코드 부분에서 3의 hex값인 0x33을 찾아서 0x34로 수정하면 된다. 아래 그림은 수정한 그림이다.

ghex 수정된 화면

수정을 다 했으면 저장한다. 제대로 저장 되었는지 다시 한번 strings, grep을 이용해서 값을 확인해본다.

$ strings libgnome-shell.so |grep GESTURE_FINGER
const GESTURE_FINGER_COUNT = 4;
        if (event.get_touchpad_gesture_finger_count() !== GESTURE_FINGER_COUNT)
            GESTURE_FINGER_COUNT,

덮어쓸 파일인 /usr/lib64/gnome-shell/libgnome-shell.so은 root 소유의 권한을 가지므로 root 권한으로 덮어 씌운다. 주의할 점은 덮어 씌울 때 gnome-shell의 so의 변경이 감지되면, gnome-shell이 crash를 발생시킬 수 있다. 따라서 GNOME 데스크탑 환경에서 튕겨나갈 수 있으므로 중요한 작업중이라면 미리 저장해두도록 한다. 혹은 X 윈도우 환경을 로그아웃 한 뒤에 텍스트 콘솔(CTRL-ALT-F3 같은…)에서 작업하는 것을 추천한다.

$ su -c "cp ~/libgnome-shell.so /usr/lib64/gnome-shell/"

설정 후 GNOME3 데스크탑으로 로그인하면 적용된다. 아주 간혹 뭔가 꼬였는데, 해결할 능력이 안된다면 재부팅을 권장한다. 그럼에도 불구하고 제대로 작동하지 않는다면 다시한번 string, grep 으로 GESTURE_FINGER_COUNT 값을 확인 해본다.

$ strings /usr/lib64/gnome-shell/libgnome-shell.so |grep GESTURE_FINGER
const GESTURE_FINGER_COUNT = 4;
        if (event.get_touchpad_gesture_finger_count() !== GESTURE_FINGER_COUNT)
            GESTURE_FINGER_COUNT,

 

 

2.2. xxd로 실행하는 파이프 명령

하지만 ghex로 편집하는 것이 귀찮은 분들을 위해 이를 한번에 해치울 수 있도록 간단한 셸 파이프 명령을 살펴보자. xxd는 사람이 읽기 편하게 hex 코드 값으로 출력해주거나 반대로 hex 코드값을 바이너리로 변환하는 명령이다. 이를 응용해서 xxd와 sed를 파이프로 연결하면 수정된 libgnome-shell.so 파일을 즉시 얻을 수 있다. 다만 명령어가 길기 때문에 주의깊게 봐야 한다.

$ xxd -p -c 0 libgnome-shell.so_original | sed 's,474553545552455f46494e4745525f434f554e54203d2033,474553545552455f46494e4745525f434f554e54203d2034,' | xxd -r -p -c 0 > ~/libgnome-shell.so

$ strings ~/libgnome-shell.so |grep GESTURE_FINGER
const GESTURE_FINGER_COUNT = 4;
        if (event.get_touchpad_gesture_finger_count() !== GESTURE_FINGER_COUNT)
            GESTURE_FINGER_COUNT,

 

참고로 sed에서 사용한 474553545552455f46494e4745525f434f554e54203d2033 부분은 const GESTURE_FINGER_COUNT = 3 부분의 hex code값이다. 아래와 같이 실행해서 얻은 값이다.  (0x33 = '3', 0x34 = '4')

$ echo -n "const GESTURE_FINGER_COUNT = 3" | xxd -p
474553545552455f46494e4745525f434f554e54203d2033

$ echo -n "const GESTURE_FINGER_COUNT = 4" | xxd -p
474553545552455f46494e4745525f434f554e54203d2034

 

 

3. 페도라의 libgnome-shell.so과 swipeTracker.js 문제 (주의점)

Fedora Linux 버전이 업그레이드 되면서 GNOME 3의 gnome-shell 버전도 업그레이드 되었다. 문제는 업그레이드 과정에서 libgnome-shell.so의 경로가 /usr/lib에서 /usr/lib64로 변경되기도 하고, libgnome-shell.so의 이름이 libshell-12.so로 변경되기도 하였다.

또한 gnome-shell의 JS 모듈 이름도 원래 swipetracker.js (소문자)였다가 swipeTracker.js의 대소문자가 섞인 형태로 변하기도 했다. 또한 JS 소스 코드의 관련 변수 명도 소문자인 gesture_finger_count에서 GESTURE_FINGER_COUNT의 대문자로 변경되기도 했다.

따라서 이런 모든 상황에 맞춰서 작동할 수 있도록 bash 스크립트를 수정할 필요가 있었기에 위와 같이 bash 스크립트가 조금 복잡해진 형태가 되었다. 다만 모든 시스템에 대해서 충분히 테스트 해본 것은 아니므로 적절하게 수정하면서 사용하면 될 것이다.

 

3.1. Fedora 39 업그레이드 후 문제

페도라39로 업그레이드했을때 X윈도우 로그인이 실패했다. 그 이유는 gnome-shell이 제대로 작동하지 않았다. 원격에서 터미널 접속 후 journalctl -f 로 로그를 출력하도록 하고, 로그인을 해보니 이유는 쉽게 확인이 되었다. 아래 로그를 보자.

12월 23 16:17:32 i5nt940 gnome-shell[6861]: Opened file '/home/sunyzero/.gnome-shell-custom-overlays/ui/swipeTracker.js' as a resource overlay
12월 23 16:17:32 i5nt940 gnome-shell[6861]: JS ERROR: Gio.IOErrorEnum: import declarations may only appear at top level of a module
                                             @resource:///org/gnome/shell/ui/swipeTracker.js:6:14
                                             @resource:///org/gnome/shell/ui/init.js:21:20
12월 23 16:17:32 i5nt940 gnome-shell[6861]: Execution of main.js threw exception: Module resource:///org/gnome/shell/ui/init.js threw an exception
12월 23 16:17:32 i5nt940 audit[6861]: ANOM_ABEND auid=1000 uid=1000 gid=1000 ses=9 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 pid=6861 comm="gnome-shell" exe="/usr/bin/gnome-shell" sig=11 res=1
12월 23 16:17:32 i5nt940 kernel: traps: gnome-shell[6861] general protection fault ip:7f85588bd385 sp:7ffe16b11f20 error:0 in libc.so.6[7f8558844000+160000]
12월 23 16:17:32 i5nt940 audit: BPF prog-id=112 op=LOAD
...생략...
12월 23 16:17:33 i5nt940 systemd[1]: Started dbus-:1.3-org.freedesktop.problems@1.service.
12월 23 16:17:33 i5nt940 audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=dbus-:1.3-org.freedesktop. problems@1 comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
12월 23 16:17:33 i5nt940 abrt-notification[7112]: [🡕] Process 5590 (gnome-shell) crashed in free()

로그 1행에 보면 /home/sunyzero/.gnome-shell-custom-overlays/ui/swipeTracker.js 파일을 열어서 오버레이 했다고 출력된다. 그리고 2행 중간에 보면 "JS ERROR: Gio.IOErrorEnum: import declarations may only appear at top level of a module" 라는 오류 메시지를 볼 수 있다. 그리고 그 다음 행에 "Execution of main.js threw exception ..." 에서 예외가 발생했음을 알려준다.

audit의 로그를 보면 comm="gnome-shell" exe="/usr/bin/gnome-shell" sig=11 res=1 에서 gnome-shell이 시그널11번(SIGSEGV)로 죽었음을 알 수 있다. 간단히 유추해보면 swipeTracker.js 의 형태나 혹은 규격이 바뀌어서 설정 오류가 생겼음을 추측할 수 있다. 따라서 swipeTracker.js를 새로 추출해야만 한다. 앞서 만들어둔 shell script를 재실행하면 된다.

하지만 X윈도우로는 로그인 할 수 없기 땜에 터미널 환경으로 접속해야 한다. 다른 PC가 있다면 ssh로 접속하던가 아니면 CTRL_ALT_F3를 눌러서 텍스트 콘솔로 들어가면 된다. 그리고 ./change_gnomeshell_finger_count_fedora.sh 4 를 다시 명령하면 된다.

참고로 Fedora39에서는 libshell-12.so가 libshell-13.so로 변경되었기 때문에 change_gnomeshell_finger_count_fedora.sh도 수정해두었다. 예전 버전으로 실행하면 파일을 찾지 못해 아래와 같이 에러가 발생한다.

$ change_gnomeshell_finger_count_fedora.sh 4
changing finger count to 4
[EE] File not found : FILE_LIBGNOMESHELL_UI=/usr/lib/gnome-shell/libgnome-shell.so,/usr/lib64/gnome-shell/libgnome-shell.so,/usr/lib64/gnome-shell/libshell-12.so
System library = /usr/lib/gnome-shell/libgnome-shell.so,/usr/lib64/gnome-shell/libgnome-shell.so,/usr/lib64/gnome-shell/libshell-12.so
  + org path:Module(JS) = /org/gnome/shell/ui/swipetracker.js,swipeTracker.js
Custom JS file = /home/sunyzero/.gnome-shell-custom-overlays/ui/swipetracker.js,swipeTracker.js
Don't know how to handle /usr/lib/gnome-shell/libgnome-shell.so,/usr/lib64/gnome-shell/libgnome-shell.so,/usr/lib64/gnome-shell/libshell-12.so
Custom CONFIG  = /home/sunyzero/.config/environment.d/gnome-shell-overlay.conf

 

* 1편은 여기까지...

내용이 너무 길어지면 재미가 없으니까, 1편은 gnome-shell 설정으로 마무리하고, 2편에서 touchegg로 다양한 제스처를 설정하는 방법을 살펴보겠다.

 

 

* History

2023-12-23 "Fedora 39 업그레이드 후 문제" 추가, change_gnomeshell_finger_count_fedora.sh의 FILE_LIBGNOMESHELL_UI 변수값 수정

2023-08-07 초고 작성

반응형
Comments