GNU/Linux >> Belajar Linux >  >> Ubuntu

Cegah Perangkat Eksternal Dikunci ke Peluncur?

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

  1. Salin skrip ke dalam file kosong, simpan sebagai myown_blacklist.py
  2. 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.

  3. 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/?
Ubuntu
  1. Menggunakan Udev Untuk Mengotomatiskan HDD Eksternal?

  2. Tidak Ada Dash, Tidak Ada Peluncur Di Ubuntu 14.10?

  3. Bisakah saya mencegah pembuatan folder dengan nama tertentu?

  1. Cegah Syslogs Dari Dilog Di Bawah Journalctl?

  2. Perlu Mencegah Paket Agar Tidak Diinstal?

  3. Menambahkan Aplikasi Kustom Ke Gnome Launcher?

  1. Bagaimana Cara Memasang Hard Drive Eksternal?

  2. Menggunakan Layanan Vps, Bisakah Saya Mencegah Data Tidak Dapat Diakses Oleh Host Vps?

  3. Bluetooth Tidak Akan Menemukan Perangkat!?