Думаю, вам не повезло с s_client
. Вам следует попробовать socat
, который на порядок мощнее:
socat stdin,icanon=0 ssl:IP:PORT
См. Также этот вопрос о SuperUser .
Я давно не использовал Linux в качестве основного драйвера, но для этого использовалась программа nautilus-open-terminal
, хотя я не уверен, поддерживается ли она в Fedora. Кроме того, хотя я не знаю, можно ли установить его в системах, отличных от Ubuntu / Debian, в Unity DE Canonical встроена эта функция, вы, вероятно, могли бы воспроизвести метод, использованный там, в Gnome.
РЕДАКТИРОВАТЬ: В свете вашего комментария вы можете добавить строки в свой .profile
, чтобы всегда открывать tmux в текущем рабочем каталоге gnome-terminal как запрещенный процесс (например, tmux. /; disown -r && killall gnome-terminal
), чтобы при щелчке правой кнопкой мыши и открытии терминала в каталоге он открывал gnome-terminal и сразу же открывал независимые окна tmux, передавая рабочий каталог, полученный nautilus в качестве аргумента. .
ОБНОВЛЕНИЕ: Хорошо, я нашел два метода. Теперь у каждого из них есть свои проблемы, но, надеюсь, одна из них подойдет вам. Эти методы были протестированы на установке Debian 8.7 с использованием Bash в качестве оболочки и программы nautilus-open-terminal
для запуска окна терминала в текущем каталоге Nautilus / Nemo.
Метод 1.) Просто добавьте tmux
в самый конец вашего файла .bashrc
(или в вашем случае .zshrc
.). Теперь любое открываемое вами окно терминала немедленно откроет tmux как процесс в рабочем каталоге.
Плюс к этому методу в том, что он прост и открывает только одно окно.
Основным недостатком этого метода является то, что он всегда будет запускаться как вложенный процесс в текущей оболочке, поэтому, если это проблема, вы можете вместо этого использовать другой метод.
Метод 2.) Добавьте строку gnome-terminal -e tmux ./
(на этот раз без кавычек вокруг имени процесса) в ваш .bashrc
или .zshrc
файл. Это откроет новое окно терминала, содержащее tmux в качестве основного процесса.
Плюсы этого метода в том, что окно tmux будет отдельным процессом и будет по-прежнему открываться с текущим рабочим каталогом, установленным в каталог окна Nautilus / Nemo.
Недостаток в том, что при открытии выделенного окна tmux exit
нельзя добавить в файл .bashrc
, иначе он также закроет окно tmux. При этом gnome-terminal, который используется для создания окна tmux, все еще можно закрыть вручную, щелкнув x
в окне или запустив exit
непосредственно в gnome-terminal один раз. tmux открылся.
Второй способ менее удобен тем, что приходится вручную закрывать лишнее окно терминала; при выборе пункта контекстного меню Открыть в терминале
в текущем каталоге откроется специальное окно tmux.
Я добавил:
# Start tmux if tmux is not already running
pgrep tmux >/dev/null 2>&1 || exec tmux
в конце моего.bashrc, и мне кажется, что все работает нормально. Когда я запускаю терминал gnome -вручную (в первый раз ), запускается tmux. Если я открою другие терминалы, у них не будет tmux (, а это почти то, что мне нужно ). И открытие терминала из любой папки в Nautilus (с помощью «Открыть в терминале» )также работает должным образом.
С помощью переменной среды TMUX
мы можем использовать exit
для автоматического уничтожения исходного терминала при выходе из сеанса tmux.
if [[ "$TMUX" == "" ]] # if not on tmux
then
tmux
exit
fi
Это также предотвращает сообщение «sessions should be nested with care, unset $TMUX to force
», вызванное вызовом tmux
в рамках сеанса tmux.