Вы должны создать файл your_application.desktop
, а затем скопировать его в / usr / share / applications /
. Ниже приведен образец файла .desktop
, который я недавно использовал для создания sublime_text.desktop
[Desktop Entry]
Version=1.0
Type=Application
Name=Sublime Text
GenericName=Text Editor
Comment=Sophisticated text editor for code, markup and prose
Exec=/opt/sublime_text/sublime_text %F
Terminal=false
MimeType=text/plain;
Icon=/opt/sublime_text/Icon/128x128/sublime-text.png
Categories=TextEditor;Development;
StartupNotify=true
Actions=Window;Document;
[Desktop Action Window]
Name=New Window
Exec=/opt/sublime_text/sublime_text -n
OnlyShowIn=Unity;
[Desktop Action Document]
Name=New File
Exec=/opt/sublime_text/sublime_text --command new_file
OnlyShowIn=Unity;
. Обратите внимание на Exec =
и Icon =
Есть 2 возможности.Первый заключается в использовании rlwrap для обертывания библиотеки истории readline вокруг вашей netcat
программы. Другой вариант — использовать socat , в который встроен readline -.
Например, если вы используете telnet с помощью netcat, вы можете просто сказать
rlwrap nc -t remotehost 23
, а затем каждая введенная вами строка сохраняется в файле ~/.nc_history
и может перемещаться с помощью обычных клавиш чтения строки. Повторное выполнение той же команды сохраняет существующую историю.
При socat
нет возможности использовать telnet, но для других типов подключения вы можете использовать, например,
socat readline,history=$HOME/.socat.hist TCP4:remotehost:port
Если у вас нет rlwrap
, вы можете использовать socat для запуска netcat:
socat readline,history=$HOME/.socat.hist exec:'nc -t remotehost 23'
Третья возможность, если у вас нет ни одной из этих программ, но есть оболочка bash
со встроенным -в readline, состоит в том, чтобы заставить bash читать команды с терминала и отправлять их на стандартный ввод netcat. Ниже приведен довольно упрощенный пример сценария для этого с использованием той же команды nc
и сохранением и восстановлением истории в файле /tmp/myhistory
.
#!/bin/bash
# emulate rlwrap nc -t localhost 23
HISTFILE=/tmp/myhistory
history -r # read old history
while IFS= read -p 'netcat> ' -e # sets REPLY, -e enables readline
do history -s "$REPLY" # add to history
history -w # save to file
echo "$REPLY" # write to netcat
done |
nc -t remotehost 23