숨겨진 파일 표시를 주기적으로 끄려면 어떻게합니까?


10

따라서 일부 파일과 폴더를 미숙 한 눈에 숨기려면 이름의 시작 부분에 점을 찍어 이름을 수정했습니다. 작동하고 파일이 숨겨져 있습니다. 숙련되지 않은 코가 사람들은 그들을 보지 못할 것입니다. 그리고 노틸러스를 사용하여 키 조합 Ctrl- 을 사용하여 "숨겨진 파일 표시"를 켜거나 끕니다 H. 좋아. 그러나 나는 그 기능을 켜거나 끄는지를 결코 모른다.

10 분마다 자동으로 시작되고 "숨겨진 파일 표시"기능을 해제하는 bash 스크립트를 작성하고 싶습니다. 그래서 나는 코가 눈에 보이지 않는 파일을 보지 못할 것이라고 확신합니다. 이제 문제는 :

  • 어떤 bash 명령어를 사용해야하는지 모르겠습니다. bash 스크립트가 거의 모든 것을 할 수 있다고 확신하므로 도와주세요!
  • xx 초 또는 분마다 bash 스크립트를 자동으로 시작하는 방법을 모르겠습니다.

어떻게합니까?


안녕하세요 Sarandazzo, 답변 중 하나가 문제를 해결 한 경우 (여러 가지 답변이 작동한다고 생각합니다) 답변을 수락하면 친절합니다 (왼쪽 위 / 아래 화살표 아래에 큰 "V"표시). 답이 효과가 있음을 나타내는 적절한 방법입니다.
Jacob Vlijm

답변:


10

명령 줄에서 쉽게 레지스트리 gsettings의 책임 설정에 액세스 할 수 있습니다 dconf.

숨겨진 파일을 표시할지 여부 (이름으로 시작 .)는 스키마에 org.gtk.Settings.FileChooser있으며이라고 show-hidden합니다.

허용되는 값은 true(숨겨진 파일 표시) 또는 false(표시하지 않음)입니다.

숨겨진 파일 표시를 활성화 또는 비활성화하는 명령은 다음과 같습니다.

gsettings set org.gtk.Settings.FileChooser show-hidden true
gsettings set org.gtk.Settings.FileChooser show-hidden false

x 분마다이 명령을 자동으로 실행하려면이를 달성하는 방법을 배우는 데 유용한 두 가지 리소스가 있습니다.

  • 사용 cron(최소 해상도는 1 분) : help.ubuntu.com : Cron 사용법

    를 포함하지 않는 cron매우 제한된 env변수 세트로 작업 을 실행 DBUS_SESSION_BUS_ADDRESS하지만 gsettings작동하는 데 필요 합니다. 따라서 필요한 경우 실행하는 스크립트에서이 변수를 직접 설정해야합니다.

    나는 (의 도움으로 당신을 위해 스크립트를 준비 @JacobVlijm 나에게 연결 스택 오버플로이 답변 에 의해 @Radu Rădeanu 이 문제를 돌봐과 직접 실행할 수 있습니다) cron:

    #!/bin/bash
    
    # --> Script to disable showing hidden files - to be run as cron job <--
    
    # export DBUS_SESSION_BUS_ADDRESS environment variable
    PID=$(pgrep gnome-session)
    export DBUS_SESSION_BUS_ADDRESS=$(grep -z DBUS_SESSION_BUS_ADDRESS /proc/$PID/environ|cut -d= -f2-)
    
    gsettings set org.gtk.Settings.FileChooser show-hidden false
  • 사용하지 않고 cron: 10 초마다 명령을 실행하는 방법 (cron없이)?


하, 당신은 내게 구초 : 이길
야곱 Vlijm을

하이 바이트, cron에서 실행될 때 DBUS_SESSION_BUS_ADDRESS편집 gsettings가 작동하도록 환경 변수를 설정해야합니다 .
Jacob Vlijm

@JacobVlijm 감사하지만 cron에 전혀 경험이 없습니다. 그래서 방금 방법 사이트를 연결했습니다. 도와 주실 래요?
바이트 사령관

절대적으로 cron에서 명령을 실행할 때 cron에서 명령을 실행하려고 시도한 것을 발견했을 때 env vars 세트는 (매우) 제한됩니다. 좋은 게시물이 하나입니다 stackoverflow.com/a/19666729/1391444 크론에서 gsettings을 편집 할 때 라두의 선이, 난 항상 스크립트에서 사용할 수 있습니다.
Jacob Vlijm

@JacobVlijm env 부분이 포함되었습니다. 맞습니까?
바이트 사령관

5

다른 릴리스를 확인해야하지만 14.04 및 15.10에서 gsettings숨겨진 파일의 가시성을 확인 하는 명령은 다음과 같습니다.

gsettings get org.gtk.Settings.FileChooser show-hidden
  • 값을 (숨김 파일 표시 안 함)으로 설정 하려면 false:

    gsettings set org.gtk.Settings.FileChooser show-hidden false
  • 또는 true:

    gsettings set org.gtk.Settings.FileChooser show-hidden true

1. 값을 설정하는 스크립트는 다음과 같습니다.

#!/usr/bin/env python3
import subprocess
import sys
import time

interval = int(sys.argv[1])

key = "org.gtk.Settings.FileChooser"
val = "show-hidden"

while True:
    time.sleep(interval)
    subprocess.Popen(["gsettings", "set", key, val, "false"])

그것을 실행하려면 :

  • 스크립트를 빈 파일에 복사하고 다른 이름으로 저장하십시오. reset_hidden.py
  • 다음 명령으로 실행하십시오.

    python3 /path/to/reset_hidden.py <interval>

    시간 간격이 초 단위 인 경우, 예.

    python3 /path/to/reset_hidden.py 600

시작 응용 프로그램에 추가

시작 애플리케이션에 추가하려면 대시> 시작 애플리케이션> 추가 다음 명령을 추가하십시오 :

python3 /path/to/reset_hidden.py <interval>

2. cron에서 명령을 실행하십시오.

백그라운드 스크립트 대신 cron에서 명령을 실행하려는 경우 중요한 환경 변수가 설정 되지 않습니다 .

DBUS_SESSION_BUS_ADDRESS

cron에서 gsettings 편집 / 설정은 변수를 처음 설정 한 경우에만 작동합니다 .

경우 당신이 크론에서 실행하고 싶습니다, 메이크업 아래 스크립트를 실행 크론 :

#!/bin/bash

PID=$(pgrep gnome-session)
export DBUS_SESSION_BUS_ADDRESS=$(grep -z DBUS_SESSION_BUS_ADDRESS /proc/$PID/environ|cut -d= -f2-)

gsettings set org.gtk.Settings.FileChooser show-hidden false

3. 유휴 시간을 사용하여 더욱 우아하게

컴퓨터에서 작업하는 경우 작업하는 동안 파일이 예기치 않게 숨겨지지 않을 수 있습니다.

아래 스크립트를 사용하면 임의의 유휴 시간이 지나면 파일이 숨겨집니다. 설정은 정확히 [1]같지만 파일이 숨겨지기 전에 <interval>시간은 이제 <idle_time>(초)입니다.

스크립트가 필요합니다 xprintidle:

sudo apt-get install xprintidle

스크립트

#!/usr/bin/env python3
import subprocess
import sys
import time

interval = int(sys.argv[1])

key = "org.gtk.Settings.FileChooser"
val = "show-hidden"

idle1 = 0

while True:
    time.sleep(2)
    idle2 = int(subprocess.check_output(["xprintidle"]).decode("utf-8").strip())/1000
    if all([idle1 <= interval, idle2 >= interval]):
        subprocess.Popen(["gsettings", "set", key, val, "false"])
    idle1 = idle2

1
15.10에 gsettings 스키마 / 키가 올바른지 확인할 수 있습니다. 그리고 +1 :)
바이트 사령관

0
  1. 사용 gconftool-2에 대한 nautilus-file-management-properties맨 페이지 : http://manpages.ubuntu.com/manpages/hardy/man1/gconftool-2.1.html
  2. crontab -e일정에 사용하십시오 . 맨 페이지 : https://help.ubuntu.com/community/CronHowto

1
언제부터 정확하게 말할 수 gconf는 없지만 더 이상 사용되지 않으며 적어도 노틸러스에서는 더 이상 사용하지 않습니다. 15.10 시스템에서 더 이상 설정을 사용할 수 없습니다. 또한 힌트 만 제공하는 대신 단계를보다 명확하게 설명해야합니다.
바이트 사령관
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.