При использовании меньше с-S опцией это перемещает текст в вершину, когда я нажимаю правильную клавишу

Оболочка выполняется во время загрузки только при вызове скриптов оболочки. Традиционная система init построена на основе скриптов оболочки (каждый сервис/демон запускается из скрипта оболочки). Большинство служб запускается, когда система переходит в многопользовательский режим. Некоторые вещи могут запускаться и до этого (монтирование файловой системы может включать в себя вызов скриптов).

На linux, initsrcipts выполняются с помощью

sh, что обычно является ссылкой на bash.
#!/usr/bin/env bash

cd /2/screenshots/
x=$(date +"%y%m%d%H%M%S")
screencapture -i -o $x.png
sips -s format jpeg -s formatOptions 60 $x.png -o $x.jpg
rm $x.png

Однако, systemd

, который начинает заменять

init на многих дистрибутивах (даже в debian говорят о переключении). systemd предназначен для того, чтобы вообще не использовать initscripts, а вместо этого запускает демонов и монтирует их самостоятельно, вместе с сохранением контроля над ними и перезапуском в случае неудачи. Вполне возможно, что systemd загружается без запущенных интерпретаторов оболочки, хотя вы всегда можете иметь службу, которая сама по себе является скриптом оболочки.

  • Конечно, пользовательская оболочка по умолчанию запускается при входе в систему, но это после процесса загрузки. Если вы загружаетесь в диспетчере дисплеев (большинство пользовательских дистрибутивов делают это по умолчанию), оболочка командной строки может никогда не быть запущена вообще. Они даже худят терминальный эмулятор, так что нужно покопаться в уровнях меню, чтобы добраться до него.
  • С помощью небольшого взлома можно записать в журнал все bash экземпляры, которые запускаются. Будьте осторожны, это опасно, вы можете взломать систему. Временно скопируйте свой bash из /bin/ в какое-нибудь другое место (/usr/local/bin), потому что он приходит позже в $PATH). Напишите скрипт оболочки вроде этого:

/bin/bash замените /bin/bash на этот скрипт. Внутренне он вызывает real bash, так что это не бесконечный цикл. Он регистрирует дату и PID процесса (не используйте логгер, система регистрации, возможно, еще не запущена). Вы также увидите, какие скрипты выполняются.

Повторяю: не делайте этого до тех пор, пока не полностью не поймете все шаги. И не забудьте откатить все изменения после того, как закончите.

2
15.08.2014, 18:00
1 ответ

Предлагаю сообщить об ошибке.

Я использую опцию -c, чтобы текст всегда был сверху. Вас может заинтересовать эта опция в качестве обходного пути в том смысле, что это делает ошибку невидимой из-за изменения положения текста по умолчанию.

.
0
27.01.2020, 22:59

Теги

Похожие вопросы