Как исправить символические ссылки после перехода с Bash на ZSH

У меня была bash в качестве оболочки по умолчанию, хотя я использовал только zsh.

Я всегда начинал сам, открывая терминал и печатая zsh.

Сегодня я решил использовать его как оболочку по умолчанию. Поэтому я нашел эту ссылку и выполнил следующую команду

sudo chsh -s $(which zsh) john

, где john - мой пользователь.

Все работало нормально, пока я не попытался получить доступ к веб-сайту моего банка и не заметил, что символическая ссылка, которую я создал для плагина Java Chrome, больше не работает.

Я попытался удалить его и создать новый с помощью zsh с помощью этой команды:

sudo ln -s /opt/jre1.7.0_55/lib/amd64/libnpjp2.so

, но это не сработало. Должен ли я сделать что-то другое сейчас, когда я использую zsh? Как мне заставить мои символические ссылки снова работать?

0
задан 20 March 2017 в 13:18

2 ответа

В первую очередь, нет абсолютно никакой причины работать chsh с sudo! В следующий раз просто выполнение

chsh -s $(which bash) 

нет также абсолютно никакой причины использовать sudo ln. Ссылки являются мировым чтением/записью/исполняемым файлом всеми. Теперь, ссылки, которые Вы создали, не имеют никакого отношения к оболочке, которой Вы предъявили иск. Нет абсолютно никакой причины, почему изменение Вашей оболочки влияло бы на них. Если Вы не можете получить доступ к ссылке, проблема в другом месте.

Так или иначе, просто выполнение

ln -s /opt/jre1.7.0_55/lib/amd64/libnpjp2.so

, Который создаст ссылку, названную libnpjp2.so, который будет в Вашем текущем каталоге и укажет на /opt/jre1.7.0_55/lib/amd64/libnpjp2.so. Я очень сомневаюсь, что это - то, что Вы хотите сделать, но это - то, что Вы, кажется, просите.

, Если по любой причине команды выше не работают. отредактируйте свой вопрос и скажите нам точно , как они перестали работать. Простое "не работало", не очень полезно. Были ли какие-либо сообщения об ошибках? Неработающая ссылка создается? Что пошло не так, как надо?

0
ответ дан 20 March 2017 в 13:18

Без разъяснения об ошибках, с которыми сталкивается Ваш браузер, я могу только размышлять, но здесь идет:

кажется совершенно вероятным, что Ваш ~/.bashrc устанавливал определенные переменные среды и экспортировал их. Когда Вы тогда вызвали бы zsh вручную, он будет (как дочерний процесс Вашей оболочки удара), наследовали те переменные среды.

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

, Чтобы сделать это, сначала вызовите удар:

$ bash

Тогда исследуют Ваши переменные среды:

$ set

Этот вывод будет долог. Можно хотеть передать по каналу через пейджер как более или менее. Поскольку Вы испытываете проблемы с Java, можно хотеть проверить, что переменная среды JAVA_HOME правильно установлена в zsh. От удара сделайте:

$ echo $JAVA_HOME

Тогда выход от той сессии удара и проверяет, что JAVA_HOME правильно установлен в zsh путем выдачи той же команды эха снова.

, Если они не соответствуют, Вы захотите установить его в своем ~/.zshrc, который можно сделать очень легко путем возвращения в удар и затем повторения переменного содержания в .zshrc как это:

$ bash
$ echo "export JAVA_HOME=" $JAVA_HOME >> .zshrc
$ exit
0
ответ дан 20 March 2017 в 13:18

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

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