web-dev-qa-db-fra.com

Les appareils montés n'apparaissent pas sur le lanceur dans Ubuntu 14.04. Comment l'activer?

J'utilise Ubuntu 14.04 sur mon ordinateur de bureau HP Pavillion.

Jusqu'à quelques minutes en arrière, les périphériques, les clés USB, les disques durs externes apparaissaient lors de leur montage et de leur branchement respectif.

Soudain, je constate que les périphériques montés n'apparaissent plus sur le lanceur. Si je les tire de et verrouille au lanceur, au moment où je les déverrouille, ils disparaissent et ne reviennent pas, même en montage.

Avez-vous une idée sur la façon de ramener l’apparence sur le lanceur lors du montage?

Edit: Sous fdisk -l, je reçois ce qui suit:

WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted


Disk /dev/sda: 4000.8 GB, 4000785948160 bytes
255 heads, 63 sectors/track, 486401 cylinders, total 7814035055 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1  4294967295  2147483647+  ee  GPT
Partition 1 does not start on physical sector boundary.

Modifier: lorsque j'essaie de connecter mon téléphone Android via Datacable, la plupart du temps, il ne le monte pas. Le câble est absolument bon, je l'ai utilisé dans d'autres systèmes.

2
Suche_G

Qu'ils soient montés (usb) ou non dans le lanceur Unity, cela n'a rien à voir avec fstab.

Exécutez la commande suivante pour réinitialiser la liste noire et afficher à nouveau tous les périphériques montés dans le programme de lancement:

gsettings set com.canonical.Unity.Devices blacklist "[]"

Explication

Lorsque vous déverrouillez des volumes montés à partir du programme de lancement, vous les ajoutez à un liste noire (com.canonical.Unity.Devices), qui les empêche de s'afficher dans le programme de lancement. Ils seront montés quand même.

Vous pouvez voir quels périphériques sont actuellement dans la liste noire en exécutant la commande:

gsettings get com.canonical.Unity.Devices blacklist

Forcer temporairement la liste noire

Pour supprimer automatiquement les appareils de la liste noire de la liste noire, une fois qu'ils sont démontés, vous pouvez exécuter un petit script en arrière-plan. Il surveille les changements dans la liste des volumes montés. Si un périphérique est déconnecté, le script supprime sa mention (possible) dans la liste noire.
L'appareil apparaîtra de nouveau dans le lanceur lors de la prochaine connexion.

Comment utiliser

  • Copiez le script ci-dessous dans un fichier vide (utilisez, par exemple, gedit).
  • Enregistrez le fichier quelque part sous le nom rm_blacklist.py.
  • Pour un démarrage propre, réinitialisez la liste noire avec la commande:

    gsettings set com.canonical.Unity.Devices blacklist "[]"
    
  • Testez le script en ouvrant une fenêtre de terminal et exécutez la commande suivante:

    python3 /path/to/rm_blacklist.py
    

    Tout en gardant la fenêtre du terminal ouverte (exécution du script):

    • Insérez une clé USB. Attendez quelques secondes jusqu'à ce qu'il soit monté, puis déverrouillez-le du lanceur
    • Déconnectez la clé USB.
    • Insérez-le à nouveau après quelques secondes. il devrait maintenant réapparaître dans le lanceur.

Si tout fonctionne comme vous le souhaitez, ajoutez-le à vos applications de démarrage:
Dash> "Applications de démarrage"> Ajouter. Ajoutez la commande:

python3 /path/to/rm_blacklist.py

Le script

#!/usr/bin/env python3
import subprocess
import time

def get_info(cmd):
    return subprocess.check_output(["/bin/bash", "-c", cmd]).decode("utf-8")

def get_mountedlist():
    devices = get_info("lsblk").splitlines()
    return [l.split("/")[-1].strip() for l in devices if "/" in l and not l.endswith("/")]

def get_blacklist():
    try:
        return eval(get_info("gsettings get com.canonical.Unity.Devices blacklist"))
    except SyntaxError:
        return []

while True:
    curr_blacklist = get_blacklist()
    mounted_blacklisted = sum([[it for it in curr_blacklist if m in it] for m in get_mountedlist() ], [])
    if '-' in curr_blacklist:
        mounted_blacklisted = mounted_blacklisted+['-']
    if not curr_blacklist == mounted_blacklisted:
        cmd = "gsettings set com.canonical.Unity.Devices blacklist "+'"'+str(mounted_blacklisted)+'"'
        subprocess.Popen(["/bin/bash", "-c", cmd])
    time.sleep(3)
3
Jacob Vlijm