Смонтированные устройства, не обнаруживающиеся на средстве запуска в человечности 14.04. Как включить его?

Я использую Ubuntu 14.04 на своем HP Pavillion Desktop.

До нескольких минут назад, устройств, pendrives, внешние жесткие диски обнаружились бы при монтировании их и включении их соответственно.

Внезапно, я нахожу, что смонтированные устройства больше не обнаруживаются на средстве запуска. Если я перетаскиваю их от и блокировку к средству запуска, момент, я разблокировал их, они исчезают и не возвращаются даже на монтировании.

Какая-либо идея о том, как возвратить появление на средстве запуска на монтирующейся функции?

Править: На выполнении fdisk -l Я получаю следующее:

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.

Править: Когда я пытаюсь подключить свой телефон на базе Android через datacable, главным образом он не монтирует его. Кабель прекрасен абсолютно, я использовал его в других системах.

2
задан 11 April 2015 в 20:15

1 ответ

Обнаруживаются ли смонтированный (usb) диски в средстве запуска Единицы или нет, не имеет никакого отношения к fstab.

Выполнение следующая команда, чтобы сбросить черный список и показать все смонтированные устройства снова в средстве запуска:

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

Объяснение

при разблокировании смонтированных объемов от средства запуска Вы на самом деле добавляете их к черный список (com.canonical.Unity.Devices), который препятствует тому, чтобы они обнаружились в средстве запуска. Они будут смонтированы, тем не менее.

Вы видите, какие устройства в настоящее время находятся в черном списке путем выполнения команды:

gsettings get com.canonical.Unity.Devices blacklist

Сила, временно помещая в черный список

Для автоматического удаления помещенных в черный список устройств из черного списка, как только они размонтированы, можно выполнить маленький сценарий в фоновом режиме. Это наблюдает изменения в списке смонтированных объемов. Если устройство отключено, сценарий удаляет свое (возможное) упоминание в черном списке.
устройство тогда появится снова в средстве запуска на следующем разе, когда это соединено.

, Как использовать

  • Копия сценарий ниже в пустой файл (использование, например, gedit).
  • Сохранили файл где-нибудь как rm_blacklist.py.
  • Для чистого запуска, сброс черный список с командой:

    gsettings set com.canonical.Unity.Devices blacklist "[]"
    
  • Тест-драйв сценарий путем открытия окна терминала и выполненный команда:

    python3 /path/to/rm_blacklist.py
    

    При сохранении окна терминала открытым (выполнение сценария):

    • Вставляют перьевой диск. Ожидайте несколько секунд, пока это не смонтировано, затем разблокируйте его от средства запуска
    • Разъединение перьевой диск.
    • Вставляют его снова после нескольких секунд; это должно теперь вновь появиться в средстве запуска.

, Если все работы, как Вы хотите, добавьте его к своим Приложениям Запуска:
Тире> "Приложения Запуска"> Добавляют. Добавьте команду:

python3 /path/to/rm_blacklist.py

сценарий

#!/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
ответ дан 2 December 2019 в 02:59

Другие вопросы по тегам:

Похожие вопросы: