Как заставить nautilus монтироваться в `/ drivename` вместо` / media / drivename`?

Вы не можете, поскольку я знаю, но вы начинаете его всегда максимально, см.

Установите Ctrl + Alt + T, чтобы открыть максимизированный терминал

или предварительно задайте заданный размер

Установите Ctrl + Alt + T, чтобы открыть максимизированный терминал

1
задан 24 July 2012 в 11:00

3 ответа

вам нужно написать правило udev для этого: вы можете создать файл в каталоге /etc/udev/rules.d/ с помощью

# Start at sdb to avoid system harddrive. 
KERNEL!="sd[b-z][0-9]", GOTO="media_by_label_auto_mount_end"

# Import FS infos
IMPORT{program}="/sbin/blkid -o udev -p %N"

# Get a label if present, otherwise specify one
ENV{ID_FS_LABEL}!="", ENV{dir_name}="%E{ID_FS_LABEL}"
ENV{ID_FS_LABEL}=="", ENV{dir_name}="usbhd-%k"

# Global mount options
ACTION=="add", ENV{mount_options}="defaults,relatime"
# Filesystem-specific mount options
ACTION=="add", ENV{ID_FS_TYPE}=="vfat|ntfs",         ENV{mount_options}="$env{mount_options},utf8,gid=100,umask=002"

# Mount the device
ACTION=="add", RUN+="/bin/mkdir -p /media/%E{dir_name}", RUN+="/bin/mount -o    $env{mount_options} /dev/%k /media/%E{dir_name}"

# Clean up after removal
ACTION=="remove", ENV{dir_name}!="", RUN+="/bin/umount -l /media/%E{dir_name}", RUN+="/bin/rmdir /media/%E{dir_name}"

# Exit
LABEL="media_by_label_auto_mount_end"

И изменить действия ADD и REMOVE с вашим путем, в этом случае

ACTION=="add", RUN+="/bin/mkdir -p /%E{dir_name}", RUN+="/bin/mount -o    $env{mount_options} /dev/%k /%E{dir_name}"
ACTION=="remove", ENV{dir_name}!="", RUN+="/bin/umount -l /%E{dir_name}", RUN+="/bin/rmdir /%E{dir_name}"
1
ответ дан 25 May 2018 в 10:17
  • 1
    Нет, это не то, что ты говоришь. – Anwar 15 June 2012 в 02:11
  • 2
    почему бы и нет? что не получается? – white-shy-guy 16 June 2012 в 01:58
  • 3
    Он монтирует только внешние приводы (USB Pen Drives), а установленный диск не находится в левой панели Nautilus – Anwar 16 June 2012 в 05:07

Вы можете сделать это, расширив эти правила в соответствии с вашими потребностями -

# Start at sdb to avoid system harddrive. 
KERNEL!="sd[b-z][0-9]", GOTO="media_by_label_auto_mount_end"

# Import FS infos
IMPORT{program}="/sbin/blkid -o udev -p %N"

# Get a label if present, otherwise specify one
ENV{ID_FS_LABEL}!="", ENV{dir_name}="%E{ID_FS_LABEL}"
ENV{ID_FS_LABEL}=="", ENV{dir_name}="usbhd-%k"

# Global mount options
ACTION=="add", ENV{mount_options}="defaults,relatime"
# Filesystem-specific mount options
ACTION=="add", ENV{ID_FS_TYPE}=="vfat|ntfs",                ENV{mount_options}="$env{mount_options},utf8,gid=100,umask=002"

# Mount the device
ACTION=="add", RUN+="/bin/mkdir -p /media/%E{dir_name}", RUN+="/bin/mount -o        $env{mount_options} /dev/%k /media/%E{dir_name}"

# Clean up after removal
ACTION=="remove", ENV{dir_name}!="", RUN+="/bin/umount -l /media/%E{dir_name}",   RUN+="/bin/rmdir /media/%E{dir_name}"

# Exit
LABEL="media_by_label_auto_mount_end"

. Познакомьтесь с правилами. Он не работает для жестких дисков. KERNEL!="sd[b-z][0-9]", GOTO="media_by_label_auto_mount_end" говорит, что если имя устройства sda * (если не sdb * или sdc *), перейдите к метке media_by_label_auto_mount_end, т.е. до конца правил. Поэтому отредактируйте строку так, как вы хотите. Но не забывайте о системном драйвере. Добавьте исключение для него.

Если ваш системный диск - / dev / sda7, тогда первая пара строк должна быть

KERNEL=="sda7" GOTO="media_by_label_auto_mount_end" #sda7 is system drive, so go to end.
#KERNEL!="sd[b-z][0-9]", GOTO="media_by_label_auto_mount_end"

Если вам нужно запустить дополнительные команды (-ы), конкатенате их с RUN.

Подробнее о правилах udev нажмите здесь

1
ответ дан 25 May 2018 в 10:17
  • 1
    Но, он работает не так, как ожидалось. Все разделы с некоторыми другими дополнениями сбрасываются в папку /media/ с некоторыми сообщениями об ошибках во время загрузки. в любом случае спасибо за ответ. – Anwar 24 July 2012 в 20:26

Вы хотите, чтобы динамически смонтированные тома отображались непосредственно в /. До сих пор работа над этой проблемой была сосредоточена на изменении ее с /media до /. Я подозреваю, что есть способ сделать это. Но простым, быстрым и грязным решением было бы сделать так, чтобы /media и / были одной и той же папкой.

Я не могу настоятельно рекомендовать это, так как система не предназначена для работайте таким образом, и могут быть ошибки, которые существуют, потому что разработчики не рассматривали эту возможность. (Некоторые могут даже не учитывать предположение, что / не является /media ошибкой.)

Но вы должны иметь возможность [[13] использовать символическую ссылку на /, так что когда что-то установлен /media/mount-point, он фактически установлен в /mount-point.

Он также будет доступен через /media/media/mount-point, /media/media/media/mount-point и т. д., хотя это было бы довольно запутанным, если бы вы были чтобы фактически получить доступ к этим именам.

Обратите внимание, что, хотя я не проводил необходимых исследований, чтобы гарантировать, что это может изменить , создать проблему безопасности, она не создает ни одного из способов, изначально кажется:

Он также будет доступен через /media/media/mount-point, /media/media/media/mount-point и т. д., хотя было бы довольно запутанным, если бы вы действительно получили доступ к этим именам. [ ! d8] Это не дает безудержного доступа в /, и вам не нужно (и не должно) менять права собственности или разрешения / (или любой другой файл или папку). Владение и разрешения / и /media уже совпадают (0755, root:root):
ek@Apok:~$ ls -ld / /media
drwxr-xr-x 25 root root 4096 2012-07-15 19:17 /
drwxr-xr-x 14 root root 4096 2012-07-23 15:16 /media
Только для определенных точек монтирования, которые пользователи [[32] могут получить доступ, они еще не сделали если устройство установлено на них.

сделайте /media символическую ссылку на / , выполните следующие действия:

Отключите все ваши разделы, установленные в /media, чтобы [ f35] пуст. Удалить /media:
sudo rmdir /media
Восстановить /media как символическую ссылку на /, расположенную в /:
sudo ln -s / /media
Обратите внимание, что / перед /media перед ln появляется команда ln, потому что когда создавая символические ссылки, мы помещаем цель сначала, а затем источник.

Если вам когда-либо понадобится или нужно отменить это, просто выполните шаги в обратном порядке:

Отключите все разделы, установленные в /media, поэтому /media Пусто [. d21]

Отключите все ваши разделы, установленные в /media, поэтому /media пуст.

sudo rm /media
Удалить /media:
sudo rmdir /media
[ ! d32]

Удалить символическую ссылку:

1
ответ дан 25 May 2018 в 10:17
  • 1
    +1 для ответа. Хотя ответ успешно эмулирует спецификацию, но я также хотел, чтобы они отображались в боковой панели nautilus. Но они исчезают после монтажа – Anwar 25 July 2012 в 23:03

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

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