Jika saya menghubungkan perangkat eksternal (seperti stik USB atau ponsel cerdas Android), perangkat itu akan terbuka secara otomatis di nautilus dan mendapatkan ikon yang sesuai yang dikunci ke peluncur kesatuan. Apakah ada cara untuk mencegahnya?
Saya menggunakan Ubuntu 14.04
Jawaban yang Diterima:
Jika Anda membuka kunci perangkat dari Unity Launcher, perangkat tersebut sebenarnya masuk daftar hitam dari peluncur. Anda dapat melihat perangkat mana yang saat ini masuk daftar hitam dengan perintah:
gsettings get com.canonical.Unity.Devices blacklist
Skrip di bawah ini adalah cara alternatif untuk menyetel perangkat Anda yang masuk daftar hitam . Bedanya, script melakukannya secara permanen, sampai Anda menghapus file ~/.blacklist_data
. (lihat penjelasan:Cara kerjanya )
skrip latar belakang
Bahkan untuk skrip latar belakang, yang ini sangat ringan, sebagai akibat dari fakta bahwa, jika tidak ada perubahan pada daftar hitam, hanya daftar hitam saat ini yang dibaca oleh gsettings
memerintah. Bunyinya dconf
database, yang ada di binary
format, dan karenanya sangat ringan.
Skrip
#!/usr/bin/env python3
import subprocess
import os
import time
blacklist_data = os.environ["HOME"]+"/.blacklist_data"
def get_setlist():
cmd = "gsettings get com.canonical.Unity.Devices blacklist"
blacklist = subprocess.check_output(["/bin/bash", "-c", cmd]).decode("utf-8").strip()
return "[]" if blacklist == "@as []" else blacklist
try:
blacklist1 = str(open(blacklist_data).read()).strip()
cmd = 'gsettings set com.canonical.Unity.Devices blacklist "'+blacklist1+'"'
subprocess.call(["/bin/bash", "-c", cmd])
except FileNotFoundError:
blacklist1 = "[]"
open(blacklist_data, "wt").write(blacklist1)
while True:
time.sleep(1)
blacklist2 = get_setlist()
if blacklist2 != blacklist1:
oldlist = open(blacklist_data).read().strip()
n_old = len(eval(oldlist))
try:
n_new = len(eval(blacklist2))
except SyntaxError:
n_new = 0
if n_old < n_new:
open(blacklist_data, "wt").write(blacklist2)
else:
cmd = 'gsettings set com.canonical.Unity.Devices blacklist "'+oldlist+'"'
subprocess.call(["/bin/bash", "-c", cmd])
blacklist1 = blacklist2
Cara menggunakan
- Salin skrip ke dalam file kosong, simpan sebagai
myown_blacklist.py
-
Uji- jalankan dengan perintah:
python3 /pat/to/myown_blacklist.py`
Sekarang buka kunci perangkat Anda (apa pun, ini tidak hanya berfungsi pada perangkat usb). Membuka kunci hanya diperlukan sekali.
-
Jika semua berfungsi dengan baik, tambahkan ke Aplikasi Startup:pilih Dash> Startup Applications> Add. Tambahkan perintah:
python3 /pat/to/myown_blacklist.py`
Cara kerjanya
Masalahnya adalah Unity "melupakan" perangkat setelah dilepas. Script kemudian melacak apa yang terjadi pada output dari:
gsettings get com.canonical.Unity.Devices blacklist
Jika item ditambahkan ke daftar, skrip menulis daftar ke file tersembunyi di direktori home Anda. Jika item dihapus, ia membaca file tersembunyi dan mengembalikan daftar hitam (ini hanya diperlukan sekali saat melepas perangkat)
Terkait:Paket 'grub-efi-amd64-signed' gagal menginstal target/?