Как я могу изменить или скрыть каталог ~ / snap?

75

Я не особенно люблю приложения, загромождающие мой $HOMEкаталог своими файлами или каталогами. Это редко проблема, потому что большинство приложений могут скрыть свои данные, поставив перед ними префикс в виде точки или соответствуя ~/.configстандарту. Но не оснастка.

Q1 : я неправильно понял этот каталог? Является ли ~/snapдействительно каталог , который я должен войти и доступ на ежедневной основе на одном уровне с ~/downloads, ~/pictures, ~/workи т.д.?

Q2 : в любом случае: я могу переместить его, например ~/.snap? Я не могу найти ничего подобного /etc/snap, /etc/default/snapили ~/.config/snapнастроить вещи. Я пытался, export SNAP_USER_DATA=$HOME/.snapно это не сработало.

Стефан Хеннингсен
источник
Как один файл может загромождать вашу домашнюю папку ??
Даг
17
Не может Но у меня нет только одного файла в моем домашнем каталоге, у меня их довольно много. И много пощекотает немного. Кроме того, я настроил свою систему таким образом, чтобы на моем рабочем столе отображался не $ HOME / Desktop, а $ HOME напрямую, потому что для меня это имеет больше смысла, но это также означает, что нежелательные каталоги и файлы здесь будут еще более заметными и раздражающими. И еще одна вещь о том, что приложения должны скрывать свои файлы конфигурации.
Стефан Хеннингсен
19
Или думать об этом так: вдруг кто-то входит, ставит ящик на ваш стол и снова выходит, не сказав ни слова. Тебе не кажется, что в какой-то момент ты обнаружишь, что этот ящик встал у тебя на пути и захочет его убрать? =) Я наверняка хотел бы решить, что происходит с моей собственной таблицей, а также, какие файлы (видны) в моем $ HOME.
Стефан Хеннингсен
11
Трололо? Запустите его в своей домашней папке, и вы увидите, что произойдет, если каждая программа создаст одну единственную папку в вашей домашней директории: for f in .*; do g="${f#.}"; echo "How can a single file clutter your home folder? It's just ${g}." ; echo ln -sv "$f" "${g}_"; done запускать это на самом деле безопасно, но вы должны удалить последнюю, echoи я думаю, что вы «купите мою линию». мысли ".
Стефан Хеннингсен
10
Люди в Интернете любят рассказывать вам, как ваш вопрос неправильный, а не просто отвечать на ваш вопрос, не так ли?
Грег

Ответы:

85

Так..

A1 : нет; ~/snapне предполагается, что доступ к ним осуществляется вручную ежедневно; это каталог настроек.

A2 : нет; ~/snapне может быть изменено; это загромождает ваш домашний каталог дизайном.

Тем не менее, уже есть сообщение об ошибке по этому вопросу, но в настоящее время он расставлен по приоритетам только как список пожеланий . Если вы пострадали от этой ошибки (и вы есть , если у вас есть ~/snap=) , то пусть рода разработчики знают, и поощрять их , чтобы исправить ошибку, повысив его значимость:

  1. Перейти к сообщению об ошибке
  2. Войдите в Launchpad (верхний правый угол).
  3. Нажмите Эта ошибка влияет на N человек. Эта ошибка влияет на вас? (возле верхнего левого угла)
  4. Нажмите Да, эта ошибка влияет на меня

В то же время, сделайте так, как предлагает @Rinzwind, и просто спрячьте каталог от Nautilus, введя его в оболочку:

echo snap >> ~/.hidden

Альтернатива - полностью избавиться от привязки , просто удалив все связанные привязки, как описано здесь .

Стефан Хеннингсен
источник
23
Готово. Спасибо за указание на это сообщение об ошибке. Поверьте, если каталог оснастки появится в моем $ HOME при установке оснастки, я могу с уверенностью сказать, что никогда не буду использовать эту технологию. Если, как я подозреваю, это станет конкретным элементом ландшафта Ubuntu, мне придется переосмыслить свою многолетнюю приверженность платформе. Сумасшедшее решение.
Scaine
1
Только что проголосовал - похоже, что-то может происходить. Я повторю из комментария Стефана в отчете об ошибке: «Сейчас 2017, давай».
Larpon
5
Это 2019 год, и до сих пор нет прогресса в этом. Давай! Очистка хватит прямо сейчас.
Мерфи
20

Q1: я неправильно понял этот каталог? Является ли ~ / snap каталогом, в который я должен входить и получать к нему доступ ежедневно наравне с ~ / downloads, ~ / work, ~ / tmp и т. Д.?

Это обычный каталог, но на самом деле он не предназначен для доступа пользователей. Управляется snapdутилитой. Похоже , он будет переименован в ~/.snapкакой - то момент. Или менее вероятно ~/.local/share/snap.

Q2: В любом случае: как мне это скрыть?

Когда он переименован, он будет скрыт автоматически.

Чтобы спрятаться от оболочки рабочего стола, создайте текстовый файл с именем ~/.hiddenи вставьте в него слово «привязка». Это скроет папку «~ / snap» от Nautilus.

Чтобы скрыть от командной строки на данный момент, псевдоним lsк ls -Isnap. Теперь «оснастка» будет игнорироваться при ls-ing.

Rinzwind
источник
1
"alias ls to ls -Isnap" Обратите внимание, что он будет скрывать "snap" везде, где вы запускаете ls, а не только в каталоге $ HOME. Настоящее решение принадлежит оснастке.
Jrouquie
В этом решении не показано отображение каталога моментальных снимков, но также игнорируются цветовые настройки, которые я сохранил для разных типов файлов, т. Е. Нет способа визуально различать файлы и каталоги. Какие-нибудь советы?
Николас Кузар
5

Все приложения моментальных снимков (если они установлены) находятся в /snapкаталоге.
/home/user/snapсодержит ваши личные настройки этих снимков (если они установлены). Папка была создана один раз , когда вы установили первый пакет.
/home/user/snapsnap

Если у вас не установлены приложения моментальных снимков, вы можете удалить /home/user/snapпапку.
Если вы устанавливаете и используете новые приложения моментальных снимков, папка будет создана заново - это сделано специально.
Как snapdи «работа в процессе» - возможно, в будущем можно будет выбрать другой каталог по умолчанию.

сл-NetBox
источник
3
Если вам нужен вариант конфигурации для этого, я бы порекомендовал сообщить об ошибке в самой snapd, здесь: - bugs.launchpad.net/snappy/+bugs
popey
1
@popey Путь впереди вас =) Я даже узнал, что кто-то уже подал отчет об ошибке. Я отвечаю на свой вопрос с инструкциями о том, как побудить разработчиков это исправить.
Стефан Хеннингсен
-3

Я думаю, что у меня действительно есть решение для этого! Ну вроде. Существует расширение Nautilus под названием «Nautilus Hide», которое будет скрывать файлы и папки без изменения их имени. Он в основном записывает имя папки в файл, который Nautilus использует, чтобы узнать, должна ли папка быть скрытой или нет.

Работает как шарм!

https://github.com/brunonova/nautilus-hide

Дэвид А. Френч
источник
1
Я не уверен, что с этим делать. Хотя это и отвечает на половину заголовка вопроса, он не затрагивает ни одного из двух вопросов в теле. Вы описываете другой обходной путь, чтобы скрыть каталог в Nautilus, хотя (что я вижу, это) удобный для пользователя плагин для пользователей, которые не чувствуют себя комфортно с однострочными оболочками (т.е. echo snap >> ~/.hidden) ... но знают свой путь вокруг git, cmakeи sudo make install. Я думаю, что это добавляет что-то новое в таблицу.
Стефан Хеннингсен
Иногда вы хотите, чтобы скрыть и показать папку без необходимости подтягивать CLI да знаете? Быстрее щелкнуть правой кнопкой мыши что-нибудь и сказать «скрыть», чем открыть программу и ввести команду. По крайней мере для меня.
Дэвид А. Френч
1
Вы говорите «иногда», но этот вопрос все об одном каталоге . И вам все еще нужно «подтянуть CLI», чтобы выполнить работу, которую вы предлагаете, и вам нужно установить git, чтобы вытащить его, и всю систему сборки, чтобы скомпилировать его, и, наконец, запустить sudoдля его установки. Это намного сложнее. По крайней мере для меня.
Стефан Хеннингсен
Круто, не понимаю, почему это стоит понизить голос. Кажется, не подпадают под принципы сообщества. Мое решение не является неправильным и может считаться полезным для тех, кто просматривает эту страницу.
Дэвид А. Френч
Ваше решение , чтобы добавить snapк ~/.hiddenуже объяснено в двух существующих ответов; Разница лишь в том, что ваш подход намного сложнее . Я не нахожу это полезным, я бы никому не рекомендовал этот подход, поэтому -1 к полезности.
Стефан Хеннингсен