Dispositivos montados que não aparecem no launcher no Ubuntu 14.04. Como habilitar isso?

2

Estou usando o Ubuntu 14.04 no meu HP Pavillion Desktop.

Até alguns minutos atrás, os dispositivos, pendrives, discos rígidos externos apareceriam na montagem e conectando-os respectivamente.

De repente, descubro que os dispositivos montados não estão mais aparecendo no lançador. Se eu arrastá-los de e travar para o lançador, no momento em que eu os desbloqueio, eles desaparecem e não voltam nem na montagem.

Alguma ideia de como recuperar a aparência do lançador no recurso de montagem?

Editar: ao executar fdisk -l , recebo o seguinte:

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.

Editar: quando tento conectar meu telefone Android por meio de dados, a maioria não o monta. O cabo está absolutamente bem, eu usei em outros sistemas.

    
por Suche_G 27.12.2014 / 08:03

1 resposta

3

Se as unidades montadas (usb) estão aparecendo no iniciador Unity ou não, não tem nada a ver com fstab.

Execute o seguinte comando para redefinir a lista negra e mostrar novamente todos os dispositivos montados no inicializador:

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

Explicação

Quando você desbloqueia volumes montados a partir do lançador, você os adiciona a uma lista negra ( com.canonical.Unity.Devices ), que os impede de aparecer no lançador. Eles serão montados, no entanto.

Você pode ver quais dispositivos estão atualmente na lista negra executando o comando:

gsettings get com.canonical.Unity.Devices blacklist

Forçar temporariamente a lista negra

Para remover automaticamente os dispositivos na lista negra da lista negra, depois de desmontados, você pode executar um pequeno script em segundo plano. Ele observa mudanças na lista de volumes montados. Se um dispositivo for desconectado, o script removerá sua (possível) menção na lista negra.
O dispositivo aparecerá novamente no lançador na próxima vez que for conectado.

Como usar

  • Copie o script abaixo em um arquivo vazio (use, por exemplo, gedit ).
  • Salve o arquivo em algum lugar como rm_blacklist.py .
  • Para um início limpo, redefina a lista negra com o comando:

    gsettings set com.canonical.Unity.Devices blacklist "[]"
    
  • Teste - conduza o script abrindo uma janela de terminal e execute o comando:

    python3 /path/to/rm_blacklist.py
    

    Mantendo a janela do terminal aberta (executando o script):

    • Insira um pen drive. Aguarde alguns segundos até que ele seja montado e, em seguida, desbloqueie-o no iniciador
    • Desconecte o pen drive.
    • Insira novamente após alguns segundos; agora deve reaparecer no lançador.

Se tudo funcionar como você deseja, adicione-o aos seus aplicativos de inicialização:
Dash > "Aplicativos de inicialização" > Adicionar. Adicione o comando:

python3 /path/to/rm_blacklist.py

O 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)
    
por Jacob Vlijm 27.12.2014 / 09:26