gnome-screenshot의 셔터 사운드를 비활성화하려면 어떻게합니까? 노이즈를 만들기 시작했습니다. 이것은 짜증나고 놀랍습니다

LMDE 의 최근 업데이트 후 , gnome-screenshot도구는 스크린 샷을 찍을 때마다 성가신 카메라 셔터 노이즈를 만들기 시작했습니다. 이것은 짜증나고 놀랍습니다 (특히 스크린 샷을 찍을 때 이어폰을 착용하는 경우).

mangnome-screenshot` 페이지를 확인 했지만 관련 옵션이 없습니다. 자동 스크린 샷을 찍으려면 어떻게해야합니까?



답변

다른 솔루션 (1)는 몇 가지 불편 함이 있습니다
– 그것은 루트 액세스가 필요합니다
– 그것은 모든 사용자에게 영향을 있도록 글로벌 변화의
– 업그레이드가 sound-theme-freedesktop파일을 복원

레코드의 올바른 방법은 위의 모든 것을 피하는 사용자 지정 사운드 테마 를 통해 사용되는 기본 사운드 파일 2 를 비활성화 하는 것입니다 gnome-screenshot(파일 이름은 이벤트에 screen-capture.oga해당합니다 screen-capturegnome-settings-daemon및 하드 코딩 gnome-screenshot).
사용자 정의 테마 디렉토리를 작성하십시오.

mkdir -p ~/.local/share/sounds/__custom

.disabled파일을 작성 하십시오.

touch ~/.local/share/sounds/__custom/screen-capture.disabled

추가 index.theme:

cat << 'EOF' > ~/.local/share/sounds/__custom/index.theme
[Sound Theme]
Name=__custom
Inherits=freedesktop
Directories=.
EOF

__custom기본 테마 이름으로 설정 :

gsettings set org.gnome.desktop.sound theme-name '__custom'

또는 계피를 사용하는 경우 :

gsettings set org.cinnamon.desktop.sound theme-name '__custom'

그리고 침묵을 즐기십시오 …


1 : 예, 실제로 내 솔루션이라는 것을 알고 있지만 아치 포럼에 게시 할 때 나는 게으르고있었습니다 …

2 : 의사 파일 형식 “.disabled”는 다른 테마에서 상속 된 테마에서 사운드를 비활성화하는 데 사용됩니다. 사운드 조회 알고리즘이 접미사가 “.disabled”인 파일을 감지하면 즉시 조회 로직을 종료하고 사용할 수없는 사운드를 고려해야합니다. 접미사가 “.disabled”인 모든 파일의 길이는 0이어야합니다.


답변

여기 에서 해결책을 찾았습니다 . 재생되는 소리는입니다 /usr/share/sounds/freedesktop/stereo/camera-shutter.oga. 따라서 파일 이름을 바꾸면 파일 재생이 중지됩니다.

sudo mv /usr/share/sounds/freedesktop/stereo/camera-shutter.oga \
    /usr/share/sounds/freedesktop/stereo/damn-camera-shutter.oga

다음 번에 스크린 샷을 찍으면 자동으로 완료됩니다.


답변

셔터 사운드 파일의 이름을 바꾸는 것은 가능하지만 시스템에 대한 루트 액세스 권한이 없으면 작동하지 않을 수 있습니다. 다른 방법은 다음과 같습니다.

#!/bin/bash
volume=$(amixer sget Master | awk -F '[],[,%]'  '/%/{print $2 }')
amixer sset Master 0
gnome-screenshot
amixer sset Master "$volume"%

이 스크립트는 볼륨 백분율을 기억하고, 볼륨을 일시적으로 0으로 설정하고, 스크린 샷을 찍고, gnome-screenshot프로세스가 종료되면 볼륨이 원래 백분율로 복원됩니다.

이 접근 방식의 장점은 융통성이 있으며 필요에 맞게 사용자 정의 할 수 있다는 것입니다. 이 스크립트는 PrntScr 버튼 또는 사용자 정의 바로 가기에 바인딩 될 수 있습니다.

우분투 16.04 LTS에서 테스트