আমি কীভাবে পর্যায়ক্রমে লুকানো ফাইলগুলি প্রদর্শন বন্ধ করব?


10

সুতরাং, কিছু দক্ষ ফাইলগুলিতে কিছু ফাইল এবং ফোল্ডারগুলি আড়াল করার জন্য, আমি নামগুলির শুরুতে একটি বিন্দু রেখে তাদের নামগুলি সংশোধন করেছি। এটি কাজ করে এবং ফাইলগুলি লুকানো থাকে। দক্ষ নয় এমন লোকেরা তাদের দেখতে পাবে না। আর নটিলাস আমি পালা "লুকানো ফাইল দেখান" ব্যবহার এবং বন্ধ কী সমন্বয় ব্যবহার করে Ctrl- H। ফাইন। তবে আমি কখনই জানি না আমি বৈশিষ্ট্যটি চালু বা বন্ধ রেখেছি কিনা।

আমি একটি বাশ স্ক্রিপ্ট লিখতে চাই যা প্রতি মিনিট 10 মিনিটের পরে স্বয়ংক্রিয়ভাবে শুরু হয় এবং "লুকানো ফাইলগুলি দেখান" বৈশিষ্ট্যটি বন্ধ করে দেবে। সুতরাং আমি নিশ্চিত যে নসিচ চোখ কখনও লুকানো ফাইলগুলি দেখতে পাবে না। এখন সমস্যা হ'ল:

  • আমি জানি না বাশ নির্দেশনাটি কী ব্যবহার করতে হবে, যদি থাকে। আমি নিশ্চিত যে বাশ স্ক্রিপ্টগুলি প্রায় সবকিছু করতে পারে, তাই দয়া করে সহায়তা করুন!
  • আমি জানি না কীভাবে প্রতি এক্সএক্স সেকেন্ড বা কয়েক মিনিট পরে স্বয়ংক্রিয়ভাবে ব্যাশ স্ক্রিপ্ট শুরু করতে হয়।

আমি এটা কিভাবে করব?


হাই সারান্দাজো, যদি উত্তরগুলির মধ্যে একটিরও আপনার সমস্যার সমাধান হয়ে যায় (আমার মনে হয় যে একাধিক উত্তর কাজ করে) তবে আপনি কী উত্তরটি গ্রহণ করতে দয়া করে (বামদিকে উপরের / নীচের তীরগুলির নীচে বড় "ভি" টিক লাগিয়েছেন)? আপনার পক্ষে কাজ করা উত্তরটি নির্দেশ করার উপযুক্ত উপায়।
জ্যাকব ভিলিজম

উত্তর:


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: ক্রোন কীভাবে to

    নোট করুন যে ভেরিয়েবলের cronখুব সীমিত সেট সহ কাজগুলি চালায় envযা অন্তর্ভুক্ত নয় DBUS_SESSION_BUS_ADDRESS, তবে এটি gsettingsকাজ করার জন্য প্রয়োজন । সুতরাং আমাদের যদি প্রয়োজন হয় তবে আমাদের চালিত স্ক্রিপ্টে এই পরিবর্তনশীলটি সেট করতে আমাদের যত্ন নিতে হবে

    আমি আপনার জন্য একটি স্ক্রিপ্ট প্রস্তুত করেছি ( @ জ্যাকবভিলিজমের সহায়তায় যারা আমাকে উত্তরটি @ রাদু রাদেনু স্ট্যাক ওভারফ্লোতে যুক্ত করেছেন ) যা এই সমস্যার যত্ন নিয়েছে এবং সরাসরি চালানো যেতে পারে 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 সেকেন্ডে (ক্রোন ছাড়াই) কমান্ডটি কার্যকর করতে কীভাবে?


হা, আপনি আমাকে 9 সেকেন্ড হারিয়েছেন :)
জ্যাকব ভিলিজ

হাই বাইট, ক্রোন থেকে চালানোর সময়, DBUS_SESSION_BUS_ADDRESSসম্পাদনা গেটেটিংয়ের কাজ করতে আপনাকে পরিবেশের পরিবর্তনশীল সেট করতে হবে।
জ্যাকব ভিলিজম

@ জ্যাকবভিলিজম ধন্যবাদ, তবে আমি ক্রোনটিতে মোটেই অভিজ্ঞ নই। এই কারণেই আমি কীভাবে সাইটের সাথে লিঙ্ক করেছি। আপনি কি আমাকে সাহায্য করতে আপত্তি করবেন?
বাইট কমান্ডার

অবশ্যই, ক্রোন থেকে কমান্ডগুলি চালানোর সময় এনভ ভার্সের সেটটি (খুব) সীমাবদ্ধ, কারণ আমি একবার ক্রোন থেকে কমান্ড চালানোর চেষ্টা করতে দেখেছি। নিস পোস্টটি এই এগুলির মধ্যে একটি: stackoverflow.com/a/19666729/1391444 Radu এর লাইন, আমি সবসময় স্ক্রিপ্ট-এ ব্যবহারের যখন ক্রন থেকে gsettings সম্পাদনা।
জ্যাকব ভিলিজম

@ JacobVlijm- এ এনভি অংশটি অন্তর্ভুক্ত করা হয়েছে। এটা কি ঠিক?
বাইট কমান্ডার

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. ক্রোন থেকে কমান্ড চালান

আপনি যদি একটি পশ্চাদপট লিপি পরিবর্তে ক্রন থেকে কমান্ড পছন্দ করেন, একটি গুরুত্বপূর্ণ এনভায়রনমেন্ট ভেরিয়েবল হয় না সেট করুন:

DBUS_SESSION_BUS_ADDRESS

ক্রোন থেকে গেটেটিং সম্পাদনা / সেটিং কেবলমাত্র যদি আপনি প্রথম ভেরিয়েবল সেট করেন তবেই কাজ করে

আপনি যদি ক্রোন থেকে এটি চালনা করতে চান তবে ক্রোনটি নীচে স্ক্রিপ্টটি চালান:

#!/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-এ সঠিক। এবং +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/commune/CronHowto

1
আমি আপনাকে ঠিক কখনই বলতে পারি না, তবে অবহিত gconfএবং কমপক্ষে নটিলাস আর ব্যবহার করে না। আমার 15.10 সিস্টেমে আপনার সেটিংটি আর উপলভ্য নয়। এছাড়াও আপনাকে কেবল ইঙ্গিত দেওয়ার পরিবর্তে পদক্ষেপগুলি আরও স্পষ্টভাবে বর্ণনা করা উচিত।
বাইট কমান্ডার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.