Размещение приложения и пользовательских файлов в системе Linux

Я ранее советовал устанавливать PermitUserEnvironment yes и включение переменной среды Ваш ~/.ssh/environment до Eli Heady, внесенного с лучшим предложением в комментариях ниже.

Откройте Ваш .zlogin (удар: .bash_profile и т.д.) и помещенный следующее:

if [[ "$SSH_CONNECTION" != "" && "$MY_SSH_CONNECTION" != "yes" ]]; then
    while true; do
        echo -n "Do you want to attach to a tmux session? [y/n]"
        read yn
        case $yn in
            [Yy]* ) MY_SSH_CONNECTION="yes" tmux attach; break;;
            [Nn]* ) break;;
            * ) echo "Please answer y/n";;
        esac
    done
fi

Вдохновение, взятое от: Как я запрашиваю вход в сценарии оболочки Linux?

Обратите внимание, что я использовал .zlogin файл, но Вы могли использовать Ваш .zshrc файл, но мне нравится сохранять мой dotfiles опрятным, и он разделяет его так, я могу использовать его на других машинах.

Замените вопрос чем-то подходящим для себя и замены MY_SSH_CONNECTION="yes" tmux attach с чем Вы хотите работать в той точке.

Отметьте, как сценарий устанавливает MY_SSH_CONNECTION="yes" прежде tmux attach для передачи его до tmux как, он также будет открывать оболочку, которая получит доступ к тому же самому сценарию выше и предотвратит любую рекурсию.

6
10.05.2011, 00:15
2 ответа

Если Ваше приложение должно быть модифицируемым пользователем, Вы не должны устанавливать его на системе, но сделать, чтобы они сделали некоторую локальную установку на своем пользователе домашняя папка. $HOME/yourapp/{bin,images,sounds} и т.д.

Большинство системных путей как / var,/usr, не и не должно быть записью, доступной пользователями.

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

5
27.01.2020, 20:27
  • 1
    +1 для подхода наложения. Приложение может посмотреть в $HOME сначала, и в системном пути, если файл не найден. –  André Paramés 10.05.2011, 15:30

Вы могли следовать за Спецификацией Базового каталога XDG и поместить пользовательский-replacable материал в каталог в $XDG_DATA_HOME и любые пользовательские конфигурационные файлы в каталоге в $XDG_CONFIG_HOME (который значение по умолчанию к $HOME/.local/share/ и $HOME/.config/ соответственно).

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

2
27.01.2020, 20:27
  • 1
    Это - лучший IMO для объединения XDG с идеей наложения, упомянутой @Caleb. в странице справочника –  Franklin Yu 17.05.2017, 07:24

Теги

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