Страница 1 из 1

Как сделать так что бы команда выполнялась при запуске системы ?

Добавлено: 05 май 2024, 17:40
AslHack
Привет! Есть команда xkbcomp /etc/myxkbmap $DISPLAY как можно сделать так что бы при запуске системы эта команда автоматически выполнилась, а если возможно то можно ли запустить эту команду где-то в grub что бы при вводе пароля для входа в систему эта команда была уже выполнена.

Как сделать так что бы команда выполнялась при запуске системы ?

Добавлено: 05 май 2024, 18:01
sheridan

Как сделать так что бы команда выполнялась при запуске системы ?

Добавлено: 05 май 2024, 19:23
AslHack
Привет! То что вы мне скидывали это мой пост на другом сайте. Я пытался засунуть команду в bash-скрипт вот так:

#!bin/bash
xkbcomp /etc/myxkbmap $DISPLAY


Но когда я через bash запускаю эта команда не работает поэтому мне приходится ее запускать через терминал вводя команду xkbcomp /etc/myxkbmap $DISPLAY.
[Warning: No symbols defined for <AB11> (keycode 97)
Warning: No symbols defined for <JPCM> (keycode 103)
Warning: No symbols defined for <I120> (keycode 120)
Warning: No symbols defined for <AE13> (keycode 132)
Warning: No symbols defined for <I149> (keycode 149)
Warning: No symbols defined for <I154> (keycode 154)
Warning: No symbols defined for <I168> (keycode 168)
Warning: No symbols defined for <I178> (keycode 178)
Warning: No symbols defined for <I183> (keycode 183)
Warning: No symbols defined for <I184> (keycode 184)
Warning: No symbols defined for <FK19> (keycode 197)
Warning: No symbols defined for <FK24> (keycode 202)
Warning: No symbols defined for <I217> (keycode 217)
Warning: No symbols defined for <I219> (keycode 219)
Warning: No symbols defined for <I222> (keycode 222)
Warning: No symbols defined for <I230> (keycode 230)
Warning: No symbols defined for <I248> (keycode 248)]

Хоть мне пишут предупреждения, но команда работает. А вот как эту команду через bash-скрипт запустить ?

Как сделать так что бы команда выполнялась при запуске системы ?

Добавлено: 05 май 2024, 22:55
KOT040188
Возможно команда срабатывает раньше чем необходимо, тогда надо применить команду sleep.

Как сделать так что бы команда выполнялась при запуске системы ?

Добавлено: 06 май 2024, 08:47
rogoznik
AslHack писал(а):
05 май 2024, 19:23

Код: Выделить всё

#!bin/bash
А ничего не смущает в этой строке?

Как сделать так что бы команда выполнялась при запуске системы ?

Добавлено: 06 май 2024, 13:12
Dja
AslHack писал(а):
05 май 2024, 19:23
#!bin/bash
#!/bin/bash
Так правильней

Как сделать так что бы команда выполнялась при запуске системы ?

Добавлено: 07 май 2024, 13:24
slant
AslHack писал(а):
05 май 2024, 17:40
как можно сделать так что бы при запуске системы эта команда автоматически выполнилась
Это бессмысленно.
AslHack писал(а):
05 май 2024, 17:40
а если возможно то можно ли запустить эту команду где-то в grub
А это вообще невозможно.
AslHack писал(а):
05 май 2024, 19:23
Но когда я через bash запускаю эта команда не работает
Потому и бессмысленно.
Закавыка в том, что $DISPLAY - это переменная окружения сеанса иксов (указывает активный монитор), и устанавливается она во время входа пользователя в систему. Так что запускать данную команду раньше - никакого смысла нету.

Место откуда оно будет работать автоматически - это автозапуск DE. Оно запускается от имени активного пользователя и переменная там установлена. А все попытки что раньше - работать не будут.

В некоторых случаях можно ее применять вызывая из display manager для того чтобы она была применена на экране ввода пароля, но в этом случае применена она будет ТОЛЬКО там - т.е. все равно надо повторять для пользователя вошедшего в систему.

Как сделать так что бы команда выполнялась при запуске системы ?

Добавлено: 16 май 2024, 19:01
AslHack
slant писал(а):
07 май 2024, 13:24
AslHack писал(а):
05 май 2024, 17:40
как можно сделать так что бы при запуске системы эта команда автоматически выполнилась
Это бессмысленно.
AslHack писал(а):
05 май 2024, 17:40
а если возможно то можно ли запустить эту команду где-то в grub
А это вообще невозможно.
AslHack писал(а):
05 май 2024, 19:23
Но когда я через bash запускаю эта команда не работает
Потому и бессмысленно.
Закавыка в том, что $DISPLAY - это переменная окружения сеанса иксов (указывает активный монитор), и устанавливается она во время входа пользователя в систему. Так что запускать данную команду раньше - никакого смысла нету.

Место откуда оно будет работать автоматически - это автозапуск DE. Оно запускается от имени активного пользователя и переменная там установлена. А все попытки что раньше - работать не будут.

В некоторых случаях можно ее применять вызывая из display manager для того чтобы она была применена на экране ввода пароля, но в этом случае применена она будет ТОЛЬКО там - т.е. все равно надо повторять для пользователя вошедшего в систему.

А как можно тогда эту команду автоматом запускать при старте системы ?

Как сделать так что бы команда выполнялась при запуске системы ?

Добавлено: 17 май 2024, 00:58
slant
AslHack писал(а):
16 май 2024, 19:01
А как можно тогда эту команду автоматом запускать при старте системы ?
Никак.
Повторяю еще раз. Она будет работать ТОЛЬКО в сеансе пользователя, после его входа в систему.