Uhrzeit im Terminal

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
holyhit
Beiträge: 102
Registriert: 05.08.2023 11:27:42

Uhrzeit im Terminal

Beitrag von holyhit » 12.08.2023 09:03:48

Hallo zusammen,

habe geggogelt und auch die manpages (xterm) durchsucht aber nichts gefunden.
Eventuell hat jemand einen Rat wie man folgendes im xterm bekommen kann:
Per

Code: Alles auswählen

urxvt -pe digital-clock
erscheint dauerhaft eine aktuelle Uhrzeit oben rechts in urxvt. Bei xterm klappt es leider nicht.

Bild

Lg
Zuletzt geändert von holyhit am 12.08.2023 11:10:24, insgesamt 3-mal geändert.
keep_the_spirit_of_the_reallife

Benutzeravatar
Meillo
Moderator
Beiträge: 8818
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Uhrzeit im Terminal

Beitrag von Meillo » 12.08.2023 09:22:52

Das wird in xterm gar nicht moeglich sein. Du nutzt hier naemlich eine Perl-Extension von urxvt.
Manpage rxvt-unicode(1) hat geschrieben: -pe string
Comma-separated list of perl extension scripts to use (or not to
use) in this terminal instance. See resource perl-ext for details.
Use ed once in a while!

rjh

Re: Uhrzeit im Terminal

Beitrag von rjh » 12.08.2023 09:49:29

Kannst Du versuchen im Prompt der shell umzusetzen. Siehe bspw. https://askubuntu.com/questions/360063/ ... and-prompt

dasebastian
Beiträge: 1886
Registriert: 12.07.2020 11:21:17

Re: Uhrzeit im Terminal

Beitrag von dasebastian » 12.08.2023 09:59:39

rjh hat geschrieben: ↑ zum Beitrag ↑
12.08.2023 09:49:29
Kannst Du versuchen im Prompt der shell umzusetzen.
Schneller! :lol:

Das hier kann schon mal eine Hilfestellung für die PS1 in der ~/.bashrc sein.

Benutzeravatar
Meillo
Moderator
Beiträge: 8818
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Uhrzeit im Terminal

Beitrag von Meillo » 12.08.2023 10:02:57

Soweit ich das verstehe, zeigt der Prompt dann die Uhrzeit zu der er erzeugt worden ist. Diese Zeit veraendert sich aber nicht kontinuierlich. Die urxvt-digital-clock scheint mir aber kontinuierlich zu laufen. Sowas kann man mit dem Prompt, meines Wissens nach, nicht erreichen. Alternativ koennte man aber z.B. eine tmux-Session starten in dessen Statuszeile man die Uhrzeit anzeigt. Die laeuft wiederum kontinuierlich. ... oder einfach urxvt statt xterm nutzen. ;-)
Use ed once in a while!

dasebastian
Beiträge: 1886
Registriert: 12.07.2020 11:21:17

Re: Uhrzeit im Terminal

Beitrag von dasebastian » 12.08.2023 10:08:49

Meillo hat geschrieben: ↑ zum Beitrag ↑
12.08.2023 10:02:57
Soweit ich das verstehe, zeigt der Prompt dann die Uhrzeit zu der er erzeugt worden ist. Diese Zeit veraendert sich aber nicht kontinuierlich.
Habe das gerade getest, ja, klar, genau so ist es! :facepalm: :lol:

Benutzeravatar
Meillo
Moderator
Beiträge: 8818
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Uhrzeit im Terminal

Beitrag von Meillo » 12.08.2023 10:13:23

dasebastian hat geschrieben: ↑ zum Beitrag ↑
12.08.2023 10:08:49
Meillo hat geschrieben: ↑ zum Beitrag ↑
12.08.2023 10:02:57
Soweit ich das verstehe, zeigt der Prompt dann die Uhrzeit zu der er erzeugt worden ist. Diese Zeit veraendert sich aber nicht kontinuierlich.
Habe das gerade getest, ja, klar, genau so ist es! :facepalm: :lol:
Das ist schon auch praktisch, es erfuellt nur einen anderen Zweck: Manchmal schon haette ich mir gewuenscht, nachtraeglich sehen zu koennen, wann ich einen Befehl abgesetzt habe, um irgendwas nachvollziehen zu koennen. (Fuer mich kommt das nur nicht in Frage, da mir minimalistische Prompts wichtig sind und die Uhrzeit zu selten noetig ist.)

Ich selber habe die Uhrzeit in der Statuszeile von tmux, das ich ohnehin nutze.
Use ed once in a while!

dasebastian
Beiträge: 1886
Registriert: 12.07.2020 11:21:17

Re: Uhrzeit im Terminal

Beitrag von dasebastian » 12.08.2023 10:21:20

Meillo hat geschrieben: ↑ zum Beitrag ↑
12.08.2023 10:13:23
Manchmal schon haette ich mir gewuenscht, nachtraeglich sehen zu koennen, wann ich einen Befehl abgesetzt habe ...
Den Zeitstempel kann man sich ja auch in die History setzen (was du eh sicher weisst).

Code: Alles auswählen

export HISTTIMEFORMAT="%F %H:%M "
Fuer mich kommt das nur nicht in Frage, da mir minimalistische Prompts wichtig sind ...
Habe bei mir auch nur PWD mit $ oder #.

Benutzeravatar
Meillo
Moderator
Beiträge: 8818
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Uhrzeit im Terminal

Beitrag von Meillo » 12.08.2023 10:34:52

dasebastian hat geschrieben: ↑ zum Beitrag ↑
12.08.2023 10:21:20
Meillo hat geschrieben: ↑ zum Beitrag ↑
12.08.2023 10:13:23
Manchmal schon haette ich mir gewuenscht, nachtraeglich sehen zu koennen, wann ich einen Befehl abgesetzt habe ...
Den Zeitstempel kann man sich ja auch in die History setzen (was du eh sicher weisst).

Code: Alles auswählen

export HISTTIMEFORMAT="%F %H:%M "
Ich verwende keine bash sondern die mksh, die kann sowas nicht. (Ich wusste es aber auch nicht, daher danke fuer den Hinweis!)
dasebastian hat geschrieben: ↑ zum Beitrag ↑
12.08.2023 10:21:20
Fuer mich kommt das nur nicht in Frage, da mir minimalistische Prompts wichtig sind ...
Habe bei mir auch nur PWD mit $ oder #.
Bei mir ist der User-Prompt ein Smiley, je nach System ein anderer, so dass ich weiss, auf welcher Maschine ich bin. Beispiel:

Code: Alles auswählen

:-/ date
Sa. 12 Aug. 2023 10:25:52 CEST

:-/ 
Das Arbeitsverzeichnis brauche ich nicht. Da tippe ich dann halt `pwd' ein.

Beim root-Account verwende ich gerne `hostname#', denn da ist es umso wichtiger, sicherzustellen, dass man sich auf dem richtigen System befindet. (Wenn man sich im falschen Verzeichnis befindet, dann faellt einem das normalerweise sehr schnell auf, aber wenn man auf der falschen Maschine arbeitet, dann faellt einem das gerade als root, mitunter gar nicht auf.) Ich arbeite fast immer auf zwei oder drei Systemen parallel. Insofern man normalerweise nur auf einem System arbeitet, ist das natuerlich nicht relevant. Man sollte den Prompt der eigenen Situation und den eigenen Arbeitsgewohnheiten anpassen. Da mein Prompt nicht farbig ist, habe ich die Leerzeile davor, um die Befehle schneller finden zu koennen ... wie Absaetze in Fliesstext. Das funktioniert fuer mich hervorragend. Dass andere aber gerne auch z.B. Git-Informationen im Prompt haben, kann ich schon auch nachvollziehen. Die arbeiten halt anders, und wenn es ihnen hilft, ist es gut.
Use ed once in a while!

Benutzeravatar
whisper
Beiträge: 3193
Registriert: 23.09.2002 14:32:21
Lizenz eigener Beiträge: GNU Free Documentation License
Kontaktdaten:

Re: Uhrzeit im Terminal

Beitrag von whisper » 12.08.2023 10:37:35

holyhit hat geschrieben: ↑ zum Beitrag ↑
12.08.2023 09:03:48

directupload.net
Hausaufgabe 30 mal lesen und verstehen: Du sollst keine externen Bilder Hoster verwenden

Lg
:mrgreen:

holyhit
Beiträge: 102
Registriert: 05.08.2023 11:27:42

Re: Uhrzeit im Terminal

Beitrag von holyhit » 12.08.2023 10:53:23

Danke für die schnellen Infos.
Im Prompt möchte ich die Zeit nicht haben, mag es eher minimalistisch. Naja dachte das es auch so etwas wie Parameter für andere Terminalemulatoren gibt.
Naja habe die Zeit wie andere schon schrieben dann in tmux und bei Bedarf im Status von i3-wm.

Ooops habe das Regelwerk von debianforum noch nicht so richtig in Angriff genommen. Werde mich bessern, danke für den Hinweis!

lg,

Marcus
keep_the_spirit_of_the_reallife

Benutzeravatar
whisper
Beiträge: 3193
Registriert: 23.09.2002 14:32:21
Lizenz eigener Beiträge: GNU Free Documentation License
Kontaktdaten:

Re: Uhrzeit im Terminal

Beitrag von whisper » 12.08.2023 11:18:32

holyhit hat geschrieben: ↑ zum Beitrag ↑
12.08.2023 10:53:23
Ooops habe das Regelwerk von debianforum noch nicht so richtig in Angriff genommen. Werde mich bessern, danke für den Hinweis!

Marcus
Chat GBT meint dazu:
Ja, es gibt einige zusätzliche Argumente dafür, warum Forenbetreiber möglicherweise einen eigenen Bilderupload bevorzugen und das Verwenden externer Bilderhoster einschränken möchten:

1. Datenkontrolle und Sicherheit: Wenn ein Forum seinen eigenen Bilderupload-Dienst bereitstellt, hat es mehr Kontrolle über die hochgeladenen Inhalte. Dies ermöglicht es, unangemessene oder schädliche Inhalte besser zu überwachen und zu moderieren. Externe Bilderhoster könnten weniger streng in Bezug auf die Überwachung sein, was die Sicherheit und den Ruf des Forums beeinträchtigen könnte.

2. Datenschutz: Foren, die einen eigenen Bilderupload verwenden, können besser sicherstellen, dass die hochgeladenen Bilder nicht ohne Zustimmung der Benutzer für andere Zwecke verwendet werden. Externe Bilderhoster könnten unter Umständen die hochgeladenen Bilder analysieren oder für ihre eigenen Zwecke nutzen, was möglicherweise Datenschutzbedenken hervorruft.

3. Forum-Branding: Ein eigener Bilderupload kann zur Förderung des Forum-Branding beitragen. Indem Benutzer Bilder direkt auf der Forum-Website hochladen, bleibt das Forum im Mittelpunkt der Aktivitäten, was die Nutzerbindung und die Community-Stärkung fördern kann.

4. Verfügbarkeit und Stabilität: Externe Bilderhoster könnten in der Zukunft ihre Dienste einstellen oder ihre Nutzungsbedingungen ändern, was dazu führen kann, dass die in Foren geteilten Bilder nicht mehr verfügbar sind. Ein eigener Bilderupload kann sicherstellen, dass die geteilten Bilder langfristig im Forum verfügbar bleiben.

5. Nutzerfreundlichkeit: Ein eigener Bilderupload kann die Benutzerfreundlichkeit verbessern, da Benutzer direkt von der Forum-Oberfläche aus Bilder hochladen können, ohne zu externen Websites navigieren zu müssen.

6. Geschwindigkeit und Zuverlässigkeit: Das Hochladen von Bildern auf einen eigenen Server des Forums kann oft schneller sein als das Hochladen auf externe Hosts, da keine Verzögerungen durch Verbindungen zu Drittservern auftreten.

7. Vermeidung von toten Links: Externe Bilderhoster könnten ihre URLs ändern oder Bilder löschen, was zu toten Links in Forenbeiträgen führen kann. Ein eigener Bilderupload kann die Integrität der Bilderlinks im Laufe der Zeit aufrechterhalten.

8. Kontinuität: Wenn ein Forum langfristig bestehen soll, ist es wichtig, dass seine Funktionen, einschließlich des Bilderuploads, stabil und konsistent bleiben. Ein eigener Bilderupload kann dazu beitragen, dass diese Funktionen unabhängig von Änderungen bei externen Dienstleistern erhalten bleiben.

Insgesamt bieten diese Argumente gute Gründe dafür, warum einige Forenbetreiber möglicherweise einen eigenen Bilderupload bevorzugen und die Verwendung externer Bilderhoster einschränken möchten.

Ist doch eine perfekte Argumentationskette.
Sorry, für off topic

dasebastian
Beiträge: 1886
Registriert: 12.07.2020 11:21:17

Re: Uhrzeit im Terminal

Beitrag von dasebastian » 12.08.2023 11:59:26

Meillo hat geschrieben: ↑ zum Beitrag ↑
12.08.2023 10:34:52
Ich verwende keine bash sondern die mksh ...
Ach genau, hattest du mir gegenüber schon mal erwähnt. Die Leerzeile gefällt mir, ich finde es auch manchmal erschlagend.

Womit wir wieder bei einem Thema wären... Ich finde solche kleinen Kniffe, Tricks und Einstellungen super und ja, ich würde bei genügender Teilnahme da dann auch einen Wikibeitrag rausdestillieren. :mrgreen:

Offtopic-Werbung off.

JTH
Moderator
Beiträge: 3023
Registriert: 13.08.2008 17:01:41
Wohnort: Berlin

Re: Uhrzeit im Terminal

Beitrag von JTH » 12.08.2023 12:03:28

dasebastian hat geschrieben: ↑ zum Beitrag ↑
12.08.2023 11:59:26
Offtopic-Werbung off.
Na na, Werbung ist im Forum nicht erwünscht :twisted: :wink:
Manchmal bekannt als Just (another) Terminal Hacker.

Benutzeravatar
Livingston
Beiträge: 1454
Registriert: 04.02.2007 22:52:25
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: 127.0.0.1

Re: Uhrzeit im Terminal

Beitrag von Livingston » 12.08.2023 13:22:40

Code: Alles auswählen

while sleep 1; do tput sc; tput cup 0 $(($COLUMNS-30)) ; date; tput rc; done &
Mit tput quatscht man direkt mit dem Terminal.

sc sichert die Cursorposition
cup ZEILE SPALTE setzt eine neue Cursorposition
rc holt die gesicherte Position zurück

Lässt sich bestimmt noch verfeinern :wink:

EDIT: Parameter bei cup genauer beschrieben
Der Hauptunterschied zwischen etwas, was möglicherweise kaputtgehen könnte und etwas, was unmöglich kaputtgehen kann, besteht darin, dass sich bei allem, was unmöglich kaputtgehen kann, falls es doch kaputtgeht, normalerweise herausstellt, dass es unmöglich zerlegt oder repariert werden kann.
Douglas Adams

holyhit
Beiträge: 102
Registriert: 05.08.2023 11:27:42

Re: Uhrzeit im Terminal

Beitrag von holyhit » 12.08.2023 13:36:01

Wow das sieht ja gut aus. Unter xterm spielt der Curos ab und zu verrückt, springt zb nach ls -l über die Ausgabe.
Aber das ist nicht tragisch, weil unter urxvt funktioniert die Anzeige ohne Probleme.
Kann man dieses CEST (Zeitzone?) ausblenden?
Danke!!!
keep_the_spirit_of_the_reallife

Benutzeravatar
Livingston
Beiträge: 1454
Registriert: 04.02.2007 22:52:25
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: 127.0.0.1

Re: Uhrzeit im Terminal

Beitrag von Livingston » 12.08.2023 13:37:50

Musst Du mal die Optionen von date in man date nachschlagen.

Verbesserung:

Code: Alles auswählen

while sleep 1; do tput sc; tput cup 0 $((`tput cols`-30)) ; date; tput rc; done &
Da COLUMNS eine bash-Variable ist, wird sie nicht bei Größenänderungen des Terminals angepasst. tput cols ermittelt diese immer neu.

NACHTRAG: Nächste Verbesserung

Damit der Subprozess nicht mehr die Tastaturabfrage belästigt, wird fd 0 geschlossen:

Code: Alles auswählen

while sleep 1; do tput sc; tput cup 0 $((`tput cols`-30)); date; tput rc; done 0<&- &
EDIT: 's/quotes/codetags/g'
Zuletzt geändert von Livingston am 12.08.2023 14:29:50, insgesamt 1-mal geändert.
Der Hauptunterschied zwischen etwas, was möglicherweise kaputtgehen könnte und etwas, was unmöglich kaputtgehen kann, besteht darin, dass sich bei allem, was unmöglich kaputtgehen kann, falls es doch kaputtgeht, normalerweise herausstellt, dass es unmöglich zerlegt oder repariert werden kann.
Douglas Adams

Benutzeravatar
Meillo
Moderator
Beiträge: 8818
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Uhrzeit im Terminal

Beitrag von Meillo » 12.08.2023 14:00:39

Es ist eine Freunde, solche Beitraege zu lesen, die sowohl Wissen enthalten als auch eine praktische Beispielumsetzung liefern. Klasse, Livingston! :THX:
Use ed once in a while!

rjh

Re: Uhrzeit im Terminal

Beitrag von rjh » 12.08.2023 14:12:56

Super! Fügt sich sogar im mc und emacs -nw (u. gnus) an genau passender Stelle schön ein! :THX:

holyhit
Beiträge: 102
Registriert: 05.08.2023 11:27:42

Re: Uhrzeit im Terminal

Beitrag von holyhit » 12.08.2023 14:15:19

Vielen Dank für deine Mühe Livingston!!!
keep_the_spirit_of_the_reallife

Benutzeravatar
Livingston
Beiträge: 1454
Registriert: 04.02.2007 22:52:25
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: 127.0.0.1

Re: Uhrzeit im Terminal

Beitrag von Livingston » 12.08.2023 14:17:45

Danke, Meillo :D

Hab lange nicht mehr mit redirections gespielt.
Da der Standardoutput kurzzeitig umgeleitet wird, kann die Ausgabe immer noch stolpern. Gab es da nicht die Möglichkeit, den Output-Filedescriptor zu duplizieren und abzutrennen, damit er das aufrufende Terminal nicht mehr belästigt (irgendwas mit exec)?

date lässt sich übrigens schön anpassen, z.B. mit date +'%a %X %x' -> Format wie im Script, aber ohne Zeitzone

EDIT: Typo korrigiert
Zuletzt geändert von Livingston am 12.08.2023 15:13:12, insgesamt 1-mal geändert.
Der Hauptunterschied zwischen etwas, was möglicherweise kaputtgehen könnte und etwas, was unmöglich kaputtgehen kann, besteht darin, dass sich bei allem, was unmöglich kaputtgehen kann, falls es doch kaputtgeht, normalerweise herausstellt, dass es unmöglich zerlegt oder repariert werden kann.
Douglas Adams

Benutzeravatar
MSfree
Beiträge: 10777
Registriert: 25.09.2007 19:59:30

Re: Uhrzeit im Terminal

Beitrag von MSfree » 12.08.2023 14:38:10

Livingston hat geschrieben: ↑ zum Beitrag ↑
12.08.2023 14:17:45
date +'%a %X %x'
Wer es lieber kurz mag:

Code: Alles auswählen

date +'%R'
:wink:

Benutzeravatar
Meillo
Moderator
Beiträge: 8818
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Uhrzeit im Terminal

Beitrag von Meillo » 12.08.2023 15:49:29

Livingston hat geschrieben: ↑ zum Beitrag ↑
12.08.2023 14:17:45
Da der Standardoutput kurzzeitig umgeleitet wird, kann die Ausgabe immer noch stolpern. Gab es da nicht die Möglichkeit, den Output-Filedescriptor zu duplizieren und abzutrennen, damit er das aufrufende Terminal nicht mehr belästigt (irgendwas mit exec)?
Ich verstehe nicht was du mit dem ersten Satz meinst. Stdin von der Schleife hast du doch geschlossen. Mit `exec' kannst du den Filedescriptor der Shell selbst veraendern. Das willst du aber bestimmt nicht tun, weil du danach keine Eingaben mehr machen kannst. ;-) Ich denke das Problem, das du siehst, ist, dass es nur einen Cursor gibt und wenn zwei Prozesse den beide manipulieren und Ausgaben machen, dann kommen die sich nunmal manchmal in die Quere. Das wird sich kaum verhindern lassen, es sei denn ein Prozess stoppt den anderen solange er selber was macht.


Weil mich das interessiert hat, habe ich mir das nochmal genauer angeschaut und habe allerlei Dinge gefunden, die ich nicht erklaeren kann und die mir zeigen, was ich alles noch nicht weiss und verstehe. :-D

In einer mksh auf einem GNU/Linux, auf das ich mich aus einem urxvt mittels ssh verbunden habe, funktioniert es wie erwartet:

Code: Alles auswählen

:-Q echo $TERM $SHELL                                                                    
rxvt /bin/mksh                                                                           Sat Aug 12 15:28:51 CEST 2023

:-Q while sleep 1; do tput sc; tput cup 0 $((`tput cols`-30)); date; tput rc; done 0<&- &
[2] 27858

:-Q ^C
Wenn ich aber ein FreeBSD hernehme, dann sieht das alles anders aus.

Hier eine mksh auf FreeBSD in einem urxvt:

Code: Alles auswählen

:-/ while sleep 1; do tput sc; tput cup 0 $((`tput cols`-30)); date; tput rc; done 0<&- &
[1] 5981

:-/ jobs
[1] + Stopped (tty output) while \sleep 1 ; do \tput sc ; \tput cup 0 $((`tput cols`-30)) ; \date ; \tput rc ; done <&- 

:-/ 
Wenn ich den Prozess mit `fg' in den Vordergrund hole, dann kommt die Ausgabe, allerdings nicht rechts oben, und ich habe keine Moeglichkeit mehr, Eingaben zu machen und dadurch den Prozess zu beenden oder zu pausieren. Ich musste ihn aus einer anderen Shell per PID killen. Das passiert auch wenn ich Stdin offen lasse. Verwende ich `bg' in dem gestoppten Zustand, dann laeuft der Prozess im Hintergrund, schreibt aber nichts ins Terminal. :?

Nutze ich eine Bash unter FreeBSD in urxvt, dann sieht es so aus:

Code: Alles auswählen

[meillo@erebus /usr/home/meillo]$ while sleep 1; do tput sc; tput cup 0 $((`tput cols`-30)); date; tput rc; done 0<&- &[1] 5674
[meillo@erebus /usr/home/meillo]$ Sa. 12 Aug. 2023 15:21:19 CEST
                                  Sa. 12 Aug. 2023 15:21:20 CEST
                                  Sa. 12 Aug. 2023 15:21:21 CEST
                                  Sa. 12 Aug. 2023 15:21:22 CEST
                                  Sa. 12 Aug. 2023 15:21:23 CEST
                                  Sa. 12 Aug. 2023 15:21:24 CEST
                                  Sa. 12 Aug. 2023 15:21:25 CEST
                                  Sa. 12 Aug. 2023 15:21:26 CEST
                                  Sa. 12 Aug. 2023 15:21:27 CEST
                                  Sa. 12 Aug. 2023 15:21:28 CEST
                                  Sa. 12 Aug. 2023 15:21:29 CEST
                                  Sa. 12 Aug. 2023 15:21:30 CEST
                                  Sa. 12 Aug. 2023 15:21:31 CEST
                                  fSa. 12 Aug. 2023 15:21:32 CEST
                                   g
while sleep 1; do
    tput sc; tput cup 0 $((`tput cols`-30)); date; tput rc;
done 0>&-
Sa. 12 Aug. 2023 15:21:33 CEST
^C
[meillo@erebus /usr/home/meillo]$ 
Die Cursorpositionierung funktioniert also auf meinem FreeBSD generell nicht wie gewuenscht. (Ich habe leider kein xterm installiert, um das da auch mal noch auszuprobieren.)

Ich breche meine Experimente an der Stelle mal ab und beschraenke mich darauf, dass unter GNU/Linux alles ganz wunderbar ist. :lol:
Use ed once in a while!

Benutzeravatar
Livingston
Beiträge: 1454
Registriert: 04.02.2007 22:52:25
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: 127.0.0.1

Re: Uhrzeit im Terminal

Beitrag von Livingston » 12.08.2023 15:52:28

Vorläufig letzte Version:

Code: Alles auswählen

TTY=$(tty); exec 3>$TTY; trap "exec 3>&-" EXIT; while sleep 1; do ( tput sc; tput cup 0 $(($(tput cols)-30)); date +'%R'; tput rc; )>$TTY; done <&- &
Erläuterung:
  • Ermittlung des aktuellen Terminals
  • Öffnen eines neuen Ausgabekanals
  • Bei Ausführungsende Kanal automatisch löschen
  • Im Sekundentakt Schleife ausführen und Ausgabe in den neuen Kanal schreiben
    • Cursorposition sichern
    • Cursor setzen
    • Datum/Zeit schreiben (incl. Geschmacksrichtung "ohne Zeitzone")
    • Cursorposition zurücksetzen
  • Die gesamte Schleife wird von der Tastatureingabe getrennt
  • ... und läuft als Hintergrundprozess
Zu Meillos Problem:
Kann sein, dass die BSDs tput nicht richtig verstehen. tput spricht die Strukturen an, die in (n)curses und termios definiert sind und unter Linux immer vorhanden sind. Kann sein, dass BSD/Unixe/xxx auf andere Terminalstrukturen/-definitionen zurückgreifen. Da gibt's möglicherweise Ersatz.

Und zu seiner Anmerkung:
Ich denke das Problem, das du siehst, ist, dass es nur einen Cursor gibt und wenn zwei Prozesse den beide manipulieren und Ausgaben machen, dann kommen die sich nunmal manchmal in die Quere. Das wird sich kaum verhindern lassen, es sei denn ein Prozess stoppt den anderen solange er selber was macht.
Jep, dachte/hoffte ich. Wahrscheinlich lohnt der Aufwand für so einen Hack nicht. :mrgreen:
Der Hauptunterschied zwischen etwas, was möglicherweise kaputtgehen könnte und etwas, was unmöglich kaputtgehen kann, besteht darin, dass sich bei allem, was unmöglich kaputtgehen kann, falls es doch kaputtgeht, normalerweise herausstellt, dass es unmöglich zerlegt oder repariert werden kann.
Douglas Adams

holyhit
Beiträge: 102
Registriert: 05.08.2023 11:27:42

Re: Uhrzeit im Terminal

Beitrag von holyhit » 12.08.2023 16:50:28

Bei der letzten Version wurde mir mittig-rechts nur die Uhrzeit angezeigt in xterm.
Am besten funktioniert bei mir folgende Version:

Code: Alles auswählen

while sleep 1; do tput sc; tput cup 0 $((`tput cols`-30)); date; tput rc; done 0<&- &
keep_the_spirit_of_the_reallife

Antworten