Скрытие определенных точек монтирования из управления файлами Caja r (рабочий стол MATE) - proUbuntu
2 голосов
/ 30 мая 2020

У меня довольно много r подключаемых к привязке каталогов на моем компьютере r (работает Ubuntu 20.04 MATE edition). К сожалению, все они обнаружили в r «Устройства» на левой стороне r управления файлами Caja r. Я задавался вопросом r, можно ли скрыть эти смонтированные привязкой «точки монтирования» (o r, если определенные пути могут быть исключены из списка устройств, показанного в Caja). Они становятся беспорядочными r, и я действительно не хочу, чтобы они отображались как «устройства». Потому что это не так.

Wirawan

1 Ответ

2 голосов
/ 12 июня 2020

Это известная ошибка, вызванная libmount, и вы можете узнать больше об этом в выпуске GNOME Glib # 1271 .

Caja использует GIO, который напрямую использует libmount и не имеет функции чтобы иметь возможность скрывать диски / тома (x-gvfs-hide не работает).

Вы можете исправить Caja самостоятельно, но вам придется пересобрать пакет, который представляет собой просто матовый r чего-то вроде : сохранение следующих патчей как .patch файлов, apt source caja, apt build-dep caja, go внутри исходного каталога Caja, patch -p1 < PATCHFILE.patch, dpkg-buildpackage -rfakeroot -uc -b, установка нового пакета .deb.

Этот скроет тома, не связанные с диском (сохраните это как: hide_no_drive.patch):

diff -Naur a/src/caja-places-sidebar.c b/src/caja-places-sidebar.c
--- a/src/caja-places-sidebar.c 2020-02-10 11:52:32.000000000 +0100
+++ b/src/caja-places-sidebar.c 2020-06-12 15:30:50.979210881 +0200
@@ -715,6 +715,7 @@
     g_list_free (drives);
 
     /* add all volumes that is not associated with a drive */
+    /*
     volumes = g_volume_monitor_get_volumes (volume_monitor);
     for (l = volumes; l != NULL; l = l->next)
     {
@@ -750,7 +751,7 @@
         }
         else
         {
-            /* see comment above in why we add an icon for an unmounted mountable volume */
+            // see comment above in why we add an icon for an unmounted mountable volume
             icon = g_volume_get_icon (volume);
             name = g_volume_get_name (volume);
             last_iter = add_place (sidebar, PLACES_MOUNTED_VOLUME,
@@ -763,6 +764,7 @@
         g_object_unref (volume);
     }
     g_list_free (volumes);
+    */
 
     /* add mounts that has no volume (/etc/mtab mounts, ftp, sftp,...) */
     network_mounts = NULL;

Этот скроет монтирования, у которых нет тома (сохраните это как: hide_no_volume.patch):

diff -Naur a/src/caja-places-sidebar.c b/src/caja-places-sidebar.c
--- a/src/caja-places-sidebar.c 2020-02-10 11:52:32.000000000 +0100
+++ b/src/caja-places-sidebar.c 2020-06-12 15:38:56.846812120 +0200
@@ -766,6 +766,7 @@
 
     /* add mounts that has no volume (/etc/mtab mounts, ftp, sftp,...) */
     network_mounts = NULL;
+    /*
     mounts = g_volume_monitor_get_mounts (volume_monitor);
 
     for (l = mounts; l != NULL; l = l->next)
@@ -809,7 +810,7 @@
         g_free (tooltip);
     }
     g_list_free (mounts);
-
+    */
 
     /* add bookmarks */
     bookmark_count = caja_bookmark_list_length (sidebar->bookmarks);

Еще одна вещь r, которую вы можете попробовать, это перестроить glib (который содержит GIO) и изменить сборку Meson для использования -Dlibmount=false o r -Dlibmount=disabled. Это отключит использование libmount общесистемной fo r всего, что использует GIO, также внутри диалоговых окон файлов GTK.

...