Как я периодически выключаю скрытые файлы показа?

Так, для сокрытия некоторых файлов и папок к глазам низкой квалификации, я изменил их имена, поместив точку в запуск имени. Это работает, и файлы скрыты. Любопытные люди, которые не квалифицированы, не будут видеть их. И с помощью Наутилуса я поворачиваю "выставочные скрытые файлы" на и прочь при помощи сочетания клавиш Ctrl-H.Отлично. Но затем я никогда не знаю, оставляю ли я функцию на или прочь.

Я хотел бы записать сценарий удара, который автоматически запускает каждый, скажем, 10 минут и выключит "выставочную функцию" скрытых файлов. Таким образом, я был бы уверен, что любопытные глаза никогда не будут видеть скрытые файлы. Теперь проблема состоит в том что:

  • Я не знаю что инструкцию по удару использовать, если таковые имеются. Я вполне уверен, что сценарии удара могут сделать почти все, таким образом, помогите!
  • Я не знаю, как автоматически запустить, удар пишут сценарий каждый xx секунды или минуты.

Как я делаю это?

10
задан 9 March 2016 в 12:46

3 ответа

  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
0
ответ дан 23 November 2019 в 04:27

Я должен буду проверить на другие выпуски, но на 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. Выполните команду от крона

Если Вы предпочитаете выполнять команду от крона вместо фонового сценария, важная переменная среды не установлена:

DBUS_SESSION_BUS_ADDRESS

редактирование/установка 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
5
ответ дан 23 November 2019 в 04:27

Можно использовать 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 задачи выполнений с очень ограниченным набором 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 секунд (без крона)?

10
ответ дан 23 November 2019 в 04:27

Другие вопросы по тегам:

Похожие вопросы: