Как я могу изменить или скрыть каталог ~ / 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.


1
"alias ls to ls -Isnap" Обратите внимание, что он будет скрывать "snap" везде, где вы запускаете ls, а не только в каталоге $ HOME. Настоящее решение принадлежит оснастке.
— Jrouquie

В этом решении не показано отображение каталога моментальных снимков, но также игнорируются цветовые настройки, которые я сохранил для разных типов файлов, т. Е. Нет способа визуально различать файлы и каталоги. Какие-нибудь советы?
— Николас Кузар

5

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

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


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 к полезности.
— Стефан Хеннингсен
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.