そのため、一部のファイルとフォルダーを熟練していない目に見えないようにするために、名前の先頭にドットを付けて名前を変更しました。それは機能し、ファイルは隠されます。熟練していないおせっかいな人々はそれらを見ません。そして、Nautilusを使用して、キーの組み合わせを使用して「隠しファイルを表示」をオンまたはオフにします Ctrl-H。いいよしかし、その機能をオンにするかオフにするかはわかりません。
たとえば、10分ごとに自動的に開始し、「隠しファイルを表示」機能をオフにするbashスクリプトを作成したいと思います。だから私は、おせっかいな目で隠しファイルを見ることはないだろうと確信しています。問題は次のとおりです。
どうすればいいのですか?
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分ごとに自動的に実行するには、これを実現する方法を学ぶための2つの優れたリソースがあります。
cron
を使用(最小解像度は1分): help.ubuntu.com:Cron How-to
cron
は、DBUS_SESSION_BUS_ADDRESS
を含まないenv
変数の非常に限られたセットでタスクを実行しますが、gsettings
が機能するために必要です。したがって、必要な場合は、実行するスクリプトでこの変数を設定する必要があります。
私をリンクした(@ JacobVlijmの助けを借りて、スクリプトを準備しました スタックオーバーフローに関するこの回答 by@ RaduRă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なし)?
他のリリースを確認する必要がありますが、14.04および15.10では、隠しファイルの可視性を確認するgsettings
コマンドは次のとおりです。
gsettings get org.gtk.Settings.FileChooser show-hidden
setに値を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>
バックグラウンドスクリプトではなくcronからコマンドを実行する場合、重要な環境変数はnotsetです:
DBUS_SESSION_BUS_ADDRESS
cronからのgsettingsの編集/設定は、最初に変数を設定した場合にのみ機能します。
cronから実行する場合は、cronで以下のスクリプトを実行します。
#!/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
gconftool-2
マンページにnautilus-file-management-properties
を使用: http://manpages.ubuntu.com/manpages/hardy/man1/gconftool-2.1.htmlcrontab -e
をスケジュールに使用します。マンページ: https://help.ubuntu.com/community/CronHowto