Num Lock beim start automatisch aktivieren

bonbonfoni

Grand Admiral Special
Mitglied seit
11.11.2001
Beiträge
4.424
Renomée
1
da ich nicht auf den ziffernblock verzichten möchte...

wie kann ich das licht zum leuchten bringen?



nutze mandrake 9.1
mehr infos?
 
Kannste doch im Bios anschalten, beim start soll er numlock aktivieren. musste mal kucken, wo genau diese option ist, weiss ich nicht, ich weiss aber das es sie gibt =)
 
Das hilft leider auch nichts. Ich hab es mittlerweile immerhin geschafft, dass auf der Shell die NUM-Lock Taste aktiviert ist - nur dummerweise unter X dann wieder nicht mehr.
 
Original geschrieben von bonbonfoni
da ich nicht auf den ziffernblock verzichten möchte...

wie kann ich das licht zum leuchten bringen?



nutze mandrake 9.1
mehr infos?

mdk sollte unter /ect/rc.d/init.d ein eignes script dafür haben, numlock


hier das von mdk9.0


#!/bin/sh
#
# Startup script for NumLock
#
# description: Locks NumLock key at init runlevel change
# chkconfig: 345 85 15

# Source function library.
. /etc/rc.d/init.d/functions

# The following file make bash to relock the numlock key when logging
# since login unlock it.
SYSCONF_FILE=/var/lock/subsys/numlock
#SYSCONF_FILE=/etc/sysconfig/numlock

# See how we were called.
case "$1" in
start)
gprintf "Starting numlock: "
echo_success
echo
touch $SYSCONF_FILE

for tty in /dev/tty[1-8]; do
setleds -D +num < $tty
done

;;
stop)
gprintf "Disabling numlocks on ttys: "
for tty in /dev/tty[1-8]; do
setleds -D -num < $tty
done
echo_success
echo
rm -f $SYSCONF_FILE
;;
status)
# status NumLock
# gprintf "dead status as reported is normal since NumLock doesn't need to daemonize\n"
if [ -f $SYSCONF_FILE ]
then
gprintf "numlock is enabled\n"
else
gprintf "numlock is disabled\n"
fi
;;
restart)
$0 stop
$0 start
;;
reload)
gprintf "Reloading numlock: "
$0 start
echo
;;
*)
gprintf "Usage: %s {start|stop|restart|reload|status}\n" "$0"
exit 1
esac

exit 0
 
Nein, ist schon richtig aber genau der Befehl den ich meine. Damit kann man beim Hochfahren Numlock aktivieren - jedoch lediglich auf der Shell. In X ist es weiterhin deaktiviert.
 
Also, es gibt zum einen schonmal einen Dienst namens "numlock". Das Mandrake Kontrollzentrum sagt dazu
Schaltet beim Betriebssystemstart automatisch die "Num"-Taste für die virtuellen Konsolen und XFree ein.
Dort ist er auch einzuschalten. Das könnte doch schonmal helfen. Nun such ich nochmal an anderer Stelle, kleinen Moment noch... ;D.
So, bin wieder da. Der gute alte Kofler sagt zudem dazu, dass bisher nur MDK dieses Problem löst ;D;D;D .... 'tschuldigung. Der bequeme Weg sollte also der oben sein. Er bezieht sich wohl auch auf folgendes Skript welches in /etc/X11/xinit.d steht und bei mir "numlock" heisst (bei Kofler heisst es "enable_X11_numlock") und folgenden Inhalt hat:
#!/bin/sh
#---------------------------------------------------------------
# Project : Mandrake
# Module : numlock
# File : numlock.xinit
# Version : $Id: numlock.xinit,v 1.2 2001/01/09 19:40:57 gc Exp $
# Author : Frederic Lepied
# Created On : Wed Apr 12 08:39:24 2000
#---------------------------------------------------------------

if [ -f /var/lock/subsys/numlock -a -x /usr/X11R6/bin/enable_X11_numlock ]; then
/usr/X11R6/bin/enable_X11_numlock
fi

# numlock ends here
Sehe gerade, dass das Skript auf eine Datei namens "enable_X11_numlock" verweist *buck*.

Versucht es mal damit.

Gruß

Figo
 
genau darüber sind die anderen auch schon gestossen und als mandrake-user kann ich dir sagen: es klappt nicht

ich hab zwar noch keinen test diesbezüglich gemacht, aber es hatte bisher den anschein, als würde ein 2maliges starten des skriptes das numlock wieder ausschalten
demnach müsste es gehen, wenn man den link auf das skript entweder in runelvel 3 oder 5 löscht, damit es nur in 1 runlevel ausgeführt wird

bin aber zu faul das jetzt auszuprobieren, vll hat ja jemand von euch grade lust...

edit: mich hat doch die neugier gepackt, aber ich lag falsch

ich versteh aber net, warum es nicht geht, irgendetwas scheint numlock explizit auszuschalten, aber was ?
 
Zuletzt bearbeitet:
also ich kann das programm nicht kompilieren
also gcc setnumlock

what am i doing falsch?

/usr/bin/ld:setnumlock: file format not recognized; treating as linker script
/usr/bin/ld:setnumlock:1: parse error
collect2: ld returned 1 exit status
 
Welche gcc Version verwendest du ?
Eventuell kann ich es dir auch kompilieren und dann per Mail schicken
 
/tmp/ccSClNE8.o(.text+0x20): In function `main':
: undefined reference to `XOpenDisplay'
/tmp/ccSClNE8.o(.text+0x6a): In function `main':
: undefined reference to `XTestFakeKeyEvent'
/tmp/ccSClNE8.o(.text+0x75): In function `main':
: undefined reference to `XFlush'
/tmp/ccSClNE8.o(.text+0x80): In function `main':
: undefined reference to `XCloseDisplay'
collect2: ld returned 1 exit status

autsch, das klingt aber sehr schlecht :(

weiss jemand was da los ist ?
 
Zu nächst musst du die X-Includes installiert haben. Wenn du das hast musst du eventuell noch die Option -L/usr/X11R6/lib im gcc Befehl anpassen. Hinter dem -L muss der Pfad zu deinen X-Libaries liegen. Wenn das also nicht /usr/X11R6/lib ist musst du das Verzeichnis ändern.
 
Bei mir hat es genau wie es in der Datei angegeben ist funktioniert, auch das Programm funktioniert 1A :-*

gcc 3.3.2 im übrigen
 
Ich kanns dir leider nicht schien, weil ich immernoch gcc 2.95 verwendet und die Binarys vom 2.X und vom 3.X gcc nicht kompatibel sind. Sprich auf einem System, das mit gcc3.X Kompiliert wurde laufen keine 2.X Programme und umgekehrt.

Hast du denn auch folgenden Befehl um Kompilieren verwendet:

gcc -L/usr/X11R6/lib -o setnumlock Dateiname -lXtst

Wenn ja kann ich dir nur noch empfehlen auf den 3.3.2 zu updaten, mit dem es offenbar geht.
 
Ich schick dir meine Binary einfach, die sollte bei dir theoretisch laufen.

oehnamann: Der gcc 3.3.2 ist noch ein Debian Prerelease soweit ich das gesehen habe und nur in unstable verfügbar.
 
ok, auf den X-Libs-Pfad hätte ich auch selber kommen können

hier bin ich jetzt aber ratlos:

[root@PsychoServer root]# gcc -L/usr/X11R6/lib -L/usr/lib -L/lib -o setnumlock.c -lXtst
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3/../../../crt1.o(.text+0x18): In function `_start':
: undefined reference to `main'
collect2: ld returned 1 exit status

jemand ne idee ?

und ja kompilieren tu ich immer als root :)
 
Die Outputfile muss setnumlock heißen, nicht setnumlock.c

Der gesamte Befehl zum compilieren lautet

gcc -L/usr/X11R6/lib -o setnumlock setnumlock.c -lXtst

Wobei hier die Quellcodedatei "setnumlock.c" heißt. Der Name an sich ist egal, es muss allerdings die Endung .c haben, sonst erkennt gcc die Datei nicht korrekt als C-Datei

Für alle bei denen es nicht geht: Ich habe zwei Versionen compiliert, einmal mit gcc 2.95 und einmal mit gcc 3.3.2 - ihr könnt sie hier runterladen:

SetNumLock gcc-2.95
SetNumLock gcc-3.3
 
also ich hab bei meinem Debian einfach das Paket numlockx installiert, dann hat er danach gefragt, und das wars... läuft.
 
Das mit numlockx ist mir mittlerweile auch aufgefallen aber ich hab mich aus Prinzip geweigert, es zu installieren. Lieber eine selber compilierte Lösung die selber zusammengefrickelt ist und mehr nach Geek schreit als numlockx ;D
 
Wenn du meinst, dir dein ebian mit immer mehr selbstcompilierten Paketen "verseuchen" zu müssen ;D
ich geh doch nich ins Netz saug mir da 'n Paket kompilier das, wenn ich das ganze mit einem Shellbefehl haben kann ^^
 
Original geschrieben von Tom24
Wenn du meinst, dir dein ebian mit immer mehr selbstcompilierten Paketen "verseuchen" zu müssen ;D
ich geh doch nich ins Netz saug mir da 'n Paket kompilier das, wenn ich das ganze mit einem Shellbefehl haben kann ^^

Heheh muss man nicht... per Zufall gerade eben gefunden:

Wenn man die console-tools unter debian installiert hat (weiss nicht, is glaub sogar standard???) dann in der /etc/console-tools/config die unterste Zeile editieren:
#turn on numlock by default
LEDS=+num

Hehehe viele wege führen nach Rom ;)

greets
 
wow, die beste Lösung bis jetzt ;D

wäre ja in Sekunden erledigt ^^
 
Zurück
Oben Unten