Lubuntu 16.04 - сессия Openbox
Я могу использовать терминал, чтобы открыть файл с меткой времени gedit
:
gedit ~/$(date +%Y%m%d%H%M%S).txt
Команду также можно использовать с помощью сочетания клавиш в Openbox.
<keybind key="W-4"> # gedit time-stamped file
<action name="Execute"><command>sh -c 'gedit ~/$(date +%Y%m%d%H%M%S).txt'</command></action>
</keybind>
Но я не могу сделать то же самое через Exec=
строку .desktop
файла.
Exec=sh -c 'gedit ~/$(date +%Y%m%d%H%M%S).txt'
просто создает файл с именем ~/.txt
Итак, как мне получить файл .desktop, чтобы делать то, что я хочу?
$()
подобные команды. Я думаю, что вам нужно вызвать другой скрипт, который содержит команду sub-shell для открытия вашего файла.Exec=/bin/bash -c "echo $(date) > ~/out.txt"
работает нормально.+%Y%m%d%H%M%S
кажется проблема. все еще жует это.Ответы:
К сожалению, файлы .desktop не всегда вызывают команды sub-shell
$()
так, как нам хотелось бы. Один из способов сделать это, как я обнаружил, состоит в создании другого сценария, который содержит команду sub-shell для открытия такого файла.Exec
Строка будет выглядеть следующим образом :тогда ваш файл скрипта будет содержать команду открыть ваш новый файл:
скрипт также должен быть исполняемым:
Надеюсь это поможет!
источник
cron
когда%
необходимо экскавировать определенные символы ( ?)?sources.list
файле apt, вы не можете заменить название релиза, так$(lsb_release -sc)
как это тоже не работает. Если вы поймете это, я хотел бы посмотреть, как вы это сделали. :)+\%Y\%m\%d\%H\%M\%S
тогда это должно работать.Проблема
Скрипт не нужен.
Проблема не в том, что
.desktop
файл не может запускать команды с подоболочками, так какпрекрасно работает в
.desktop
файле.Поиграв с командой, я пришел к выводу, что
%
проблема заключается в -характере. Хотя у меня нет объяснения этому, и до сих пор я не мог найти информацию о том, как решить или избежать этого.Поэтому я отправился на поиски команды, чтобы получить время без использования подозреваемого персонажа.
Или используйте Ruby для даты и времени.
Это приводит меня к
Ruby
, который производит текущую дату и время из команды:Когда мы немного редактируем вывод с
awk
удалением пробелов и разделителей, у нас есть только то, что мы хотим, и рабочая команда в.desktop
файле, так как мы не используем%
:Заметка!
Без сомнения, команда может быть немного "очарована", я, вероятно, отредактирую ответ немного сегодня или завтра.
источник
.desktop
раньше не сталкивался с проблемой в таких файлах ...