LINUX.ORG.RU

Часы в Midnight Commander

 


0

1

Понадобилось работать в консоли по ssh и время от времени проверять, что время на удалённой машине не глючит. Хотел включить в MC часы, но не нашёл.

В нортоне были, в ФАРе есть, для MC нашёл кучу описаний, как ставить патчи, а в основной ветке MC есть?

Для определённости – mc-4.8.26-5 под RHEL9.

★★★
Ответ на: комментарий от olegd

Так-то конфиг пишется один раз и на годы.

Если вы работаете на удалённой машине без мультиплексора, то отсутствие в консоли часов не должно быть для вас проблемой, действительно date и нет проблем.

vvn_black ★★★★★
()

для MC нашёл кучу описаний, как ставить патчи

Вообще, конечно, было бы неплохо это протолкнуть в основную ветку, естественно, с возможностью отключения.

Вариант с tmux с одной стороны нормальный, с другой — вместо одной строки состояния будут две, одна от mc, другая от tmux, а строки в консольном режиме обычно дефицит, их всегда не хватает. :)

hobbit ★★★★★
()

В промпт сабшелла добавьте, будет обновляться при каждом действии (кроме движений курсора). Это, конечно не на панели, но какая разница.

dmitry237 ★★★★
()
Ответ на: комментарий от Jameson

tty-clock помнится мне и поверх MC работал

«Поверх» – это как? Можно было вызывать из MC, а чтобы посмотреть время – сворачивать панели и иногда нажимать «b» для перерисовки?

А нет ли программы, которая бы выводила цифры времени обычным шрифтом поверх любой другой программы, включая панели MC?

olegd ★★★
() автор топика
Ответ на: комментарий от olegd

А нет ли программы, которая бы выводила цифры времени обычным шрифтом поверх любой другой программы, включая панели MC?

Вот именно так это и выглядело. Оно по умолчанию рисует часы в правом верхнем углу терминала поверх всего в нём запущенного, в том числе и МС. У софтины ман страничка есть, в ней примеры использования. Её можно в inittab прописать чтобы она по умолчанию на определённом терминале рисовала часы в углу сразу после загрузки ОС. И неважно что потом в этой консоли запускать, часы будут сверху.

Поищи tty-clock в репах своего дистра, софтина древняя и много где есть.

Jameson ★★★★★
()
Последнее исправление: Jameson (всего исправлений: 2)

Их там нет, да. Были (вместе с ещё кучей полезных фиксов) в легковесном нормальном mc с сайта mc.linuxinside.com (в фрибсд порт mc-light назывался), но его забросили.

Понадобилось работать в консоли по ssh и время от времени проверять, что время на удалённой машине не глючит.

Но вообще - с часами по ssh стоит быть осторожнее, они создают паразитный трафик во время idle, который плохо влияет на соединение в условиях неидеального инета. Например, если ты запустил mc по ssh и ушёл спать, ночью инет пропадал на час - то без часов соединение скорее всего и не заметит пропадания сети, а с часами отвалится.

firkax ★★★★★
()
Ответ на: комментарий от Kolins

А почему именно mc? watch -n1 date не устроит?

Потому что у меня постоянно включён mc, в котором я просматриваю логи. Чтобы убедиться, что секунды в этом логе соответствуют секундам на других машинах. Набрать ^O-date-^O – не проблема, но проще, если часы висят в верхней строке, и достаточно перевести взгляд.

olegd ★★★
() автор топика
Ответ на: комментарий от firkax

Но вообще - с часами по ssh стоит быть осторожнее, они создают паразитный трафик во время idle, который плохо влияет на соединение в условиях неидеального инета. Например, если ты запустил mc по ssh и ушёл спать, ночью инет пропадал на час - то без часов соединение скорее всего и не заметит пропадания сети, а с часами отвалится.

У меня по тому же VPN работают несколько сеансов RDP. Падают вместе :)

Но спасибо за совет.

olegd ★★★
() автор топика
Ответ на: комментарий от Jameson

Поищи tty-clock в репах своего дистра, софтина древняя и много где есть.

В новом RHEL её нет. (Или нужно подключать какое-то дополнительное хранилище.) Хотя скачать и скомпилировать – не проблема.

Проблемы в другом:

  1. Для вывода времени с секундами без даты достаточен прямоугольник 8х1 символов (6 цифр и 2 разделителя). Но программа по умолчанию использует для времени 53х7 знаков псевдографики (точнее, разноцветные пробелы). Как выводить время текстом?

  2. Как её запускать в одном сеансе SSH с mc? Если её запустить до mc, для запуска mc нужно её остановить. Если её запустить в шелле mc, она видна только при убирании панелей по Ctrl-o.

Если специально для неё держать второй сеанс SSH, это ещё менее удобно, чем Ctrl-o и date.

olegd ★★★
() автор топика
Ответ на: комментарий от olegd

Для вывода времени с секундами без даты достаточен прямоугольник 8х1 символов (6 цифр и 2 разделителя). Но программа по умолчанию использует для времени 53х7 знаков псевдографики (точнее, разноцветные пробелы). Как выводить время текстом?

Я сейчас это поставил и извиняюсь, это совсем не то что я когда то на рубеже веков использовал. Там был какой то исходник на c, в виде единственного файла, который я сам компилировал. И он при запуске выводил в правом верхнем углу часы с минутами в виде консольного текста в терминале, при этом уходя в фон как демон. И можно было запускать что угодно в этом терминале, часы оставались сверху. Откуда я этот исходник скачал я уже не помню, я его давно потерял и сейчас найти уже не могу. Назывался он тупо clock.c, в пакетах его никогда не было.

Jameson ★★★★★
()

А ведь я её нашёл...

https://kernel.googlesource.com/pub/scm/linux/kernel/git/legion/kbd/ /2.0.2/c...

Скомпилил, работает, но только в физической консоли, не в терминале. Когда то это было в составе проекта KBD – Linux keyboard tools, но её оттуда на мороз выкинули. Впрочем это я сейчас узнал, а тогда я её в какой то ньюсовой конференции нашёл, в 1999 году, и с десяток лет в виде исходника хранил, пока не потерял. И даже не подозревал что она в состав пакета kbd входила.

Jameson ★★★★★
()
Последнее исправление: Jameson (всего исправлений: 1)
Ответ на: комментарий от Kolins

логи в tail мониторятся или просто изменение времени файлов? Вообще watch сам показывает часы справа сверху, думаю можно придумать что-то с ним

Не tail, а просмотр с десятка текстовых файлов в mc. В логах есть время, но часы иногда уходят вперёд-назад на несколько минут.

olegd ★★★
() автор топика
Ответ на: комментарий от Jameson

А ведь я её нашёл…

https://kernel.googlesource.com/pub/scm/linux/kernel/git/legion/kbd/+/2.0.2/contrib/vcstime.c

Скомпилил, работает, но только в физической консоли, не в терминале.

В терминале пишет: /dev/vcsa: No such file or directory

olegd ★★★
() автор топика
Ответ на: комментарий от olegd

просмотр с десятка текстовых файлов в mc.

ты между ними руками переключаешся что-ли? Может тогда на F3 забиндить текстовый редактор который умеет время показывать?

Kolins ★★★★
()
Ответ на: комментарий от olegd

набрасал за 5 минут, может это то что тебе нужно?

#!/bin/bash

logs=(/var/log/daemon.log /var/log/kern.log /var/log/messages/ /var/log/user.log)

CG="\e[32m"
CW="\e[0m"

while true; do
  clear
  for log in ${logs[*]}; do
    echo -e "${CG}---$(date)---$log---${CW}"
    tail -n1 $log
    echo -e "${CG}---${CW}"
  done
  sleep 10
done

Kolins ★★★★
()