Allt från Computex 2023

hur veta att man öppnar en ny tty?

Permalänk
Medlem

hur veta att man öppnar en ny tty?

tjena.
jag kan börja med att berätta att arbetet med enlisy går oförtrutet vidare. sakta men säkert kan man säga. vi är uppe i över 600 paket nu iaf.

ok till saken. vi kör utf8 som standard i enlisy och när man öppnar en tty, utanför x alltså, så måste man köra "unicode_start" för att bla svenska tecken ska fungera så jag brände in följande kod i /etc/profile

if [ -z "${DISPLAY}" ]; then [ "${UNICODE}" = "yes" ] && unicode_start fi

det verkade funka finemang men nu är det så att det sabbar en del annat som körs utanför x. jag vill alltså bara köra "unicode_start" när man manuellt loggar in i en ny tty. det ska inte köras av daemons och annat. finns det någon som har koll på allt som finns i skalet?

Visa signatur

enlisy Systemd
WS1: X2 4400+ | WS2: X2 4000+ | Laptop: Athlon2 P520 | Server: XP 2400+

Permalänk
Medlem

Du vill alltså kolla om det är inte är en daemon som loggar in, för att sen välja om du skall köra unicode_start?

I så fall kan du kolla vilket uid som loggar in. Typ

if [[ $UID -ge 1000 || $UID -eq 0 ]]; then unicode_start fi

0 är för root som du säkert redan vet, och jag har för mig att alla egen tillagda användare har $UID över 999 (, det skiljer ju sig i olika UNIX).

Kanske inte den bästa lösningen…

Permalänk
Medlem

tackar tackar för förslaget. jag ska prova det direkt. jag fick även fram allt som finns i skalet med pythons os.environ ordbok.

{'HUSHLOGIN': 'FALSE', 'LOGNAME': 'xerxes2', 'USER': 'xerxes2', 'HOME': '/home/xerxes2', 'PATH': '/usr/local/bin:/usr/bin:/bin:/opt/mozilla/bin', 'DISPLAY': ':0.0', 'LANG': 'en_GB.UTF-8', 'TERM': 'rxvt-unicode', 'SHELL': '/bin/bash', 'COLORFGBG': '15;default;0', 'XAUTHORITY': '/home/xerxes2/.Xauthority', 'SHLVL': '4', 'WINDOWID': '236978180', 'EDITOR': '/bin/nano', 'TERMINFO': '/usr/share/terminfo', 'MANPATH': '/usr/man:/usr/X11R6/man', 'PKG_CONFIG_PATH': '/opt/mozilla/lib/pkgconfig', 'LC_ALL': 'en_GB.UTF-8', '_': '/usr/bin/python', 'MOZ_PLUGIN_PATH': '/opt/mozilla/lib/plugins', 'HOSTNAME': 'wintergate', 'PWD': '/home/xerxes2', 'COLORTERM': 'rxvt-xpm', 'MAIL': '/var/spool/mail/xerxes2'}

kan ju kanske finnas något där att använda om inte vijjjes lösning funkar.

alltså unicode_start ska bara köras i tty, inte i x. tex urxvt hanterar utf8 utan problem automatiskt.

edit: det var inget dåligt förslag vijjje men det funkade tyvärr inte. jag vill inte heller köra unicode_start om man loggar in med ssh. alltså enda gången unicode_start ska köras är när man loggar in i en tty lokalt. det borde ju gå att fixa. problemen börjar när sen olika skript kör "source /etc/profile" från daemons. då ska alltså INTE unicode_start köras.

Visa signatur

enlisy Systemd
WS1: X2 4400+ | WS2: X2 4000+ | Laptop: Athlon2 P520 | Server: XP 2400+

Permalänk
Medlem

Ja ha.. Kolla om $TERM är lika med linux
EDIT:

if [$TERM = linux]; then unicode_start fi

Permalänk
Medlem

jo det är det. i en tty alltså.

Visa signatur

enlisy Systemd
WS1: X2 4400+ | WS2: X2 4000+ | Laptop: Athlon2 P520 | Server: XP 2400+

Permalänk
Medlem

Annars heter väll alla ttys som ligger på kapparna F1-F6 tty00-tty05? Man kan få fram namnet på en tty med kommandot tty och vad det är för en tty står i /etc/ttys.

Xterm, ssh, Aterm osv. använder också tty.

Permalänk
Medlem

vilket jävla retligt problem. ssh problemet är lätt att fixa, det finns en hel bunke skalvariabler som ssh spottar ur sig, men hur fan ska man veta att man precis öppnar ttyn? det är det som är problemet? när något senare kör "source /etc/profile" så ska inte unicode_start köras. nu när jag tänker efter så borde det ju inte göra någon skillnad egentligen heller. men det finns något skit som gör att det buggar när det körs av daemons, tex cron.

Visa signatur

enlisy Systemd
WS1: X2 4400+ | WS2: X2 4000+ | Laptop: Athlon2 P520 | Server: XP 2400+

Permalänk
Medlem

men var det inte enkelt och ta reda på om det är daemon? och kan man inte använda en miljövariabel för att ta reda på om den redan kört unicode_start ?

Förövrigt kul med en tråd med ett litet mer "avancerat" problem

Permalänk
Medlem

just nu läser jag bashs referensmanual. jag har aldrig gjort det innan så det var kanske dags i vilket fall som helst. det jag letar efter är alltså något sätt att skilja på om det är en daemon som kör eller om man öppnar en tty manuellt.

edit: mina vänner. framgång.!!!!!!!!!
man kollar bara om skalet är interaktivt. ibland så är det bra att läsa referensverk. tack iaf för hjälpen.

if [ -z "${DISPLAY}" ]; then if [ -n "$PS1" ]; then [ "${UNICODE}" = "yes" ] && unicode_start fi fi

kan det göras snyggare kanske?

Visa signatur

enlisy Systemd
WS1: X2 4400+ | WS2: X2 4000+ | Laptop: Athlon2 P520 | Server: XP 2400+

Permalänk
Hedersmedlem
Citat:

Ursprungligen inskrivet av Jonos
när något senare kör "source /etc/profile"

Grejen är att /etc/profile bara skall läsas in när det rör sig om interaktiva login-skal, så det är eg dina script/daemoner som gör fel i så fall. Titta på $BASH_ENV istället.

Visa signatur

I have free will but I choose to oscillate

Permalänk
Medlem

det är möjligt att du har rätt aphex. enlisy är till största delen klonad från arch och gentoo och den saken som klyddade kom från arch och var ett skript som kördes av cron.

edit: så här snyggt blev det till slut.

if [ -z "${DISPLAY}" ] && [ -n "$PS1" ] && [ -z "${SSH_TTY}" ]; then [ "${UNICODE}" = "yes" ] && unicode_start fi

Visa signatur

enlisy Systemd
WS1: X2 4400+ | WS2: X2 4000+ | Laptop: Athlon2 P520 | Server: XP 2400+

Permalänk
Medlem

Vad är enlisy?

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av jucce
Vad är enlisy?

Jonos linuxdistribution, finns på enlisy.org

Visa signatur

Kör väl en klassisk signatur:
9900K @ 5GHz/128GB 3200MHz DDR4/3x1TB NVME/6800XT på Aorus Z390 Elite
Samsung C34F791, Svive 34C801, Xiaomi 34", Logitech MX Master 3 + G512...
Behöver för jobb, ej gamer.

Permalänk
Medlem

Föresten hur ser init ut på enlisy?

Permalänk
Medlem

vi är tre utvecklare på enlisy nu. jag, noxxik och synt4x så vi tar gärna emot fler. vi siktar ju på att bräcka debian som den bästa hobbydisten så vi kommer att behöva iaf en hundra man för att göra det.

edit: vi kör med initng till enlisy. men man kan lätt (ganska lätt iaf) byta till något annat om man vill.

Visa signatur

enlisy Systemd
WS1: X2 4400+ | WS2: X2 4000+ | Laptop: Athlon2 P520 | Server: XP 2400+

Permalänk

Nu ställer jag mig frågande till huruvida jag kan bistå med någonting av vikt, men vad behöver ni hjälp med?

Visa signatur

"I cannot. Yet I must. How do you calculate that? At what point on the graph do 'must' and 'cannot' meet? Yet I must. But I cannot."

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Ulrik Uppkastare
Nu ställer jag mig frågande till huruvida jag kan bistå med någonting av vikt, men vad behöver ni hjälp med?

du får göra precis vad du vill. enlisy är väldigt mycket "bazaar" så det finns ingen hierarki eller chefer precis. gör paket, kan du python så kan du fixa en massa grejer eller om du kan c så kan du fixa initng.

edit: man behöver alltså inte kunna så mycket när man joinar utan man lär sig ju med tiden. rom byggdes ju inte på en dag ...

Visa signatur

enlisy Systemd
WS1: X2 4400+ | WS2: X2 4000+ | Laptop: Athlon2 P520 | Server: XP 2400+

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av bogg
Jonos linuxdistribution, finns på enlisy.org

Jo jag kollade där men förstod faktiskt ändå inte vad det var.

Permalänk
Hedersmedlem
Citat:

Ursprungligen inskrivet av Jonos
det är möjligt att du har rätt aphex. enlisy är till största delen klonad från arch och gentoo och den saken som klyddade kom från arch och var ett skript som kördes av cron.

edit: så här snyggt blev det till slut.

if [ -z "${DISPLAY}" ] && [ -n "$PS1" ] && [ -z "${SSH_TTY}" ]; then [ "${UNICODE}" = "yes" ] && unicode_start fi

Lite snyggare:

if [ -z $DISPLAY -a $PS1 -z $SSH_TTY -a "$UNICODE" = "yes" ]; then unicode_start fi

Eller så kan man köra en one-liner (som du redan gjort, fast med endast det sista uttrycket):

[ -z $DISPLAY -a $PS1 -z $SSH_TTY -a "$UNICODE" = "yes" ] && unicode_start

Visa signatur

Vim
Kinesis Classic Contoured (svart), Svorak (A5)
Medlem i signaturgruppen Vimzealoter.

Permalänk
Medlem

hmm. fan den där sista onelinern var inte så dum. den tar vi. . tackar tackar.

edit: så här snygg är våran /etc/profile
http://enlisy.org/cgi-bin/viewcvs.cgi/enlisy-i686/current/bas...
iofs snodd från gentoo men ändå. inget skräp i den inte.

edit2: det där var ju buggigt som fan. så här ska det se ut.

[ -z "$DISPLAY" -a -n "$PS1" -a -z "$SSH_TTY" -a "$UNICODE" = "yes" ] && unicode_start

Visa signatur

enlisy Systemd
WS1: X2 4400+ | WS2: X2 4000+ | Laptop: Athlon2 P520 | Server: XP 2400+