Добавление временных меток в подсказки терминала?

Простое решение

Закройте все окна Firefox (также этот!). Запустите firefox -ProfileManager и добавьте новый профиль для своего веб-приложения. Затем вы можете удалить панель вкладок в настройках и всех других тревожных элементах графического интерфейса. Закройте все и снова запустите диспетчер профилей, чтобы на этот раз выбрать профиль по умолчанию. Теперь Firefox должен начать свой профиль по умолчанию, если вы не хотите «спрашивать каждый раз».

Затем создайте файл my_webapplication.desktop и создайте пусковую установку. Это пример календаря Google:

[Desktop Entry]
Name=Google Calendar
Exec=firefox -P gcalendar -no-remote
Terminal=false
Type=Application
Icon=firefox

Значок должен быть лучше не firefox, а путь к значку по вашему выбору. gcalendar - это имя профиля, которое я выбрал раньше.

Улучшение

Если ваше приложение уже открыто, открытие этой панели запуска снова приведет к ошибке. Вы можете установить wmctrl и использовать этот небольшой скрипт для запуска своего веб-приложения:

# Is there any window with Google Calendar in the title?
if [ -z "`wmctrl -l|grep 'Google Calendar'`" ]; then
  # No --> run it
  firefox -P gcalendar -no-remote;
else
  # Yes --> change focus to this window
  wmctrl -a 'Google Calendar';
fi

Использовать Chromium

Ну ... Я отказался. Хром - самое простое решение. Просто нажмите «Создать ярлык приложения ...» (в «Инструменты»), и все готово. Вы найдете файл * .desktop в ~/.local/share/applications, который можно настроить.

Возможно, вы захотите настроить файл * .desktop. Например. нажмите «Создать ярлык приложения ...». не распознает веб-приложение Chromium как другое приложение, поэтому вместо него отображается значок Chromium. Вы можете изменить это поведение, используя WMClass, как описано здесь. Но вам придется добавить также параметр --class=MyArbitraryChromiumAppname, как описано в этом отчете об ошибке. Если вы хотите запустить Календарь Google, ваш файл * .desktop в .local/share/applications/ должен выглядеть так:

[Desktop Entry]
Version=1.0
Name=Google Calendar
Exec=/usr/bin/chromium-browser "--app=https://www.google.com/calendar/render?gsessionid=HERE_GOES_THE_SESSION_ID_CREATED_AUTOMATICALLY" --class=gcal
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=/home/peter/.icons/google_calendar.png
Categories=Network;WebBrowser;
StartupNotify=true
StartupWMClass=gcal

Примечание: вы должны добавить --class=gcal и установить свойство StartupWMClass=gcal (вы можете выберите любое имя вместо gcal).

1
задан 14 May 2016 в 00:24

11 ответов

Мое решение состояло в том, чтобы использовать http://bashrcgenerator.com/ для создания этой строки PS1 для ввода .bashrc:

export PS1="\t [\u@\h \W]\\$ \[$(tput sgr0)\]"

. Будет выглядеть как

13:05:54 [chad@work-laptop:~/Downloads]$ ls -al
[d3 ] Использование PROMPT_COMMAND испортило мне историю. Когда появляется длинная линия при циклическом перемещении по истории, она отключает конец подсказки тем же числом символов, что и метка времени, добавленная спереди. например

13:14:38 [chad@work-laptop:~/Doexport PROMPT_COMMAND="echo -n \[\$(date +%H:%M:%S)\\] "

И эта строка не может быть отредактирована, потому что она не отображает символы в нужном месте, так как вы не печатаете там, где, похоже, вы печатаете.

Я предполагаю, что это можно сделать с помощью PROMPT_COMMAND, возможно, используя эту часть [$ (tput sgr0)], но PS1 работает.

14
ответ дан 25 May 2018 в 06:06
  • 1
    Ссылка здесь отлично подходит для дальнейшей настройки марок. – cellepo 11 July 2016 в 19:45

Вместо того, чтобы добавлять дату в приглашение, вы можете добавить дату непосредственно перед запросом, разместив следующую строку вверху вашего .bashrc. Для этого вам также потребуется установить cowsay. Это интересный способ отображения даты при сохранении короткого приглашения:

cowsay "Welcome $USER! It's now $(date '+%A %B %d %Y %r')"

В своей текущей форме он будет работать на чьей-либо системе без поправок, поскольку он читает переменную $USER и date из текущая среда.

11
ответ дан 25 May 2018 в 06:06
  • 1
    Точка его включения в подсказку - это знать, когда последний раз, когда вы выполнили определенную команду, было. – James Oltmans 4 April 2017 в 00:15

Поскольку у меня недостаточно очков репутации, чтобы добавить комментарий к ответу, чтобы улучшить его. Казалось бы, единственный способ добавить информацию - создать второй ответ. Итак, я повторю то, что было сказано как ответ, и постройте на этом.

Отредактируйте файл .bashrc для пользователя, для которого вы хотите изменить штамп даты.

Если вы видите «user @ host: ~ $», который находится в домашнем каталоге вашего текущего пользователя. Файл .bashrc является скрытым файлом, так как он имеет префикс «.».

Вы можете использовать «ls -a», и вы должны увидеть файл «.bashrc».

Изменить файл с текстовым редактором. Для exmaple: «nano .bashrc», «vim .bashrc», «vi .bashrc», «pico .bashrc» или любой другой редактор, который вы хотите использовать.

Если вы хотите создать сценарий и планировать добавив его во многие оболочки для многих пользователей, может быть полезно использовать команду «эхо» в сочетании с добавлением оператора «>>». Например,

echo "export PROMPT_COMMAND="echo -n \[\$(date +%H:%M:%S)\]\\"" >> .bashrc

Если вы используете этот метод, убедитесь, что вы находитесь в текущем рабочем каталоге пользователя, для которого вы хотите его изменить. Чтобы проверить это, вы можете использовать команду pwd или print working directory.

Если вам не нравится дополнительное пространство между «]» конечным скобком и имя пользователя, просто используйте это очень слегка модифицированное регулярное выражение:

export PROMPT_COMMAND="echo -n \[\$(date +%H:%M:%S)\]\\"

Используйте это, если вы непосредственно редактируете файл.

5
ответ дан 25 May 2018 в 06:06
export PROMPT_COMMAND=date

печатает дату перед выдачей каждого приглашения.

2
ответ дан 25 May 2018 в 06:06

Откройте .bashrc через

vim ~/.bashrc

, а затем добавьте следующее в .bashrc:

#PS1="[\A \u@\h \W\a]$" 

, где \A для времени ( только для конца пути, удалите, если вы хотите весь текущий рабочий каталог). Затем введите

source ~/.bashrc

Вы увидите что-то вроде этого:

[16:04 trwood@cobalt04 ~/MCEq_dev]$
1
ответ дан 25 May 2018 в 06:06
  • 1
    удаление \W не покажет никакого пути. \w даст полный путь. – Zanna 25 August 2016 в 00:39

Чтобы добавить к ответу @ devav2:

Более легкая для чтения команда эха для новичков будет:

export PROMPT_COMMAND='echo -n "$(date +%H:%M:%S) "'

Вместо

export PROMPT_COMMAND="echo -n \[\$(date +%H:%M:%S)\]\ "

Старайтесь, что команда echo не предназначена для оценки во время экспорта, имеет смысл использовать одинарные кавычки для буквенного цитирования, а не двойные кавычки. Используя одинарные кавычки, чтобы процитировать всю команду, вы можете использовать двойные кавычки, чтобы процитировать аргумент команды echo, избавив от необходимости избегать специальных символов, таких как , [ и $

0
ответ дан 25 May 2018 в 06:06
  • 1
    Эскапады используются для форматирования (скобки). Я не вижу, что это добавляет к принятому ответу. – Elder Geek 22 August 2017 в 19:32
  • 2
    Вы можете добавить их в echo -n " $ (date +% H:% M:% S) " ' тоже: 'echo -n " [$ (date +% H:% M:% S)] "' без необходимости их избегать. Преимущество использования строки в качестве аргумента для команды echo заключается в том, что теперь вам не нужно избегать того, что иначе оценивается bash, что упрощает ее чтение. – qwertyzw 22 August 2017 в 19:49
  • 3
    @ElderGeek Я добавил дополнительные разъяснения. Надеюсь, это поможет. – qwertyzw 22 August 2017 в 19:56

Вместо того, чтобы добавлять дату в приглашение, вы можете добавить дату непосредственно перед запросом, разместив следующую строку вверху вашего .bashrc. Для этого вам также потребуется установить cowsay. Это интересный способ отображения даты при сохранении короткого приглашения:

cowsay "Welcome $USER! It's now $(date '+%A %B %d %Y %r')"

В своей текущей форме он будет работать на чьей-либо системе без поправок, поскольку он читает переменную $USER и date из текущая среда.

11
ответ дан 25 May 2018 в 06:06

Вместо того, чтобы добавлять дату в приглашение, вы можете добавить дату непосредственно перед запросом, разместив следующую строку вверху вашего .bashrc. Для этого вам также потребуется установить cowsay. Это интересный способ отображения даты при сохранении короткого приглашения:

cowsay "Welcome $USER! It's now $(date '+%A %B %d %Y %r')"

В своей текущей форме он будет работать на чьей-либо системе без поправок, поскольку он читает переменную $USER и date из текущая среда.

11
ответ дан 25 May 2018 в 06:06

Вместо того, чтобы добавлять дату в приглашение, вы можете добавить дату непосредственно перед запросом, разместив следующую строку вверху вашего .bashrc. Для этого вам также потребуется установить cowsay. Это интересный способ отображения даты при сохранении короткого приглашения:

cowsay "Welcome $USER! It's now $(date '+%A %B %d %Y %r')"

В своей текущей форме он будет работать на чьей-либо системе без поправок, поскольку он читает переменную $USER и date из текущая среда.

11
ответ дан 25 May 2018 в 06:06

Вместо того, чтобы добавлять дату в приглашение, вы можете добавить дату непосредственно перед запросом, разместив следующую строку вверху вашего .bashrc. Для этого вам также потребуется установить cowsay. Это интересный способ отображения даты при сохранении короткого приглашения:

cowsay "Welcome $USER! It's now $(date '+%A %B %d %Y %r')"

В своей текущей форме он будет работать на чьей-либо системе без поправок, поскольку он читает переменную $USER и date из текущая среда.

11
ответ дан 25 May 2018 в 06:06

Вместо того, чтобы добавлять дату в приглашение, вы можете добавить дату непосредственно перед запросом, разместив следующую строку вверху вашего .bashrc. Для этого вам также потребуется установить cowsay. Это интересный способ отображения даты при сохранении короткого приглашения:

cowsay "Welcome $USER! It's now $(date '+%A %B %d %Y %r')"

В своей текущей форме он будет работать на чьей-либо системе без поправок, поскольку он читает переменную $USER и date из текущая среда.

11
ответ дан 25 May 2018 в 06:06

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

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