Так, для сокрытия некоторых файлов и папок к глазам низкой квалификации, я изменил их имена, поместив точку в запуск имени. Это работает, и файлы скрыты. Любопытные люди, которые не квалифицированы, не будут видеть их. И с помощью Наутилуса я поворачиваю "выставочные скрытые файлы" на и прочь при помощи сочетания клавиш Ctrl-H.Отлично. Но затем я никогда не знаю, оставляю ли я функцию на или прочь.
Я хотел бы записать сценарий удара, который автоматически запускает каждый, скажем, 10 минут и выключит "выставочную функцию" скрытых файлов. Таким образом, я был бы уверен, что любопытные глаза никогда не будут видеть скрытые файлы. Теперь проблема состоит в том что:
Как я делаю это?
gconftool-2
для nautilus-file-management-properties
страница справочника: http://manpages.ubuntu.com/manpages/hardy/man1/gconftool-2.1.html crontab -e
для Вашего расписания. страница справочника: https://help.ubuntu.com/community/CronHowtoЯ должен буду проверить на другие выпуски, но на 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
#!/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>
Если Вы предпочитаете выполнять команду от крона вместо фонового сценария, важная переменная среды не установлена:
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
Если бы Вы работаете над своим компьютером, Вы, вероятно, не хотели бы иметь файлы, неожиданно скрываются при работе.
Используя сценарий ниже, файлы будут скрыты после произвольного времени простоя. Установка точно похожа [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
Можно использовать 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 секунд (без крона)?