Когда у Вас уже есть изображение на Вашем компьютере Вы, что Вы хотите использовать для фона, этот сценарий установит его и сообщит окну входа в систему, чтобы перезагрузить и отобразить изображение (если никто не будет графически зарегистрирован).
#!/bin/bash
# This script changes the background image on the login window
# Pass in the image name as the first parameter, or adjust it here:
NEW_IMAGE="/Library/Desktop Pictures/Nature/Earth Horizon.jpg"
if [[ "$1" != "" ]] ; then NEW_IMAGE="$1" ; fi
if [[ $EUID -ne 0 ]]; then
echo "This script must be run as root" 1>&2
exit 1
fi
# Change the desktop background
defaults write /Library/Preferences/com.apple.loginwindow DesktopPicture "$NEW_IMAGE"
# Restart the login window if there are no graphical users logged in
# (If there is someone logged in, the display will change when they log out)
if [ "`who | grep -c console`" -eq "0" ] ; then
killall -SIGHUP loginwindow
fi
Это было бы очень нечетным поведением. Главная причина - это: Как это обработало бы вывод от какой-либо команды, которая генерирует несколько строк, такой как ls
или cat
? Если у Вас есть экран, который прокручивает противоположность нормальных, она распечатала бы cat ./foo
в обратном порядке. Я думаю, что Ваш наилучший вариант состоит в том, чтобы пойти с комментарием, оставленным Zypher, и просто переместить монитор. Стандарты являются большими, но тривиальными стандартами, которые вызывают противоположность их намерения, бесполезны. Сделайте что работы лучше всего для Вас в Вашей ситуации.
Я думал об этом некоторое время. Мне кажется, что вам следует взломать исходный код bash, чтобы возврат каретки перемещал приглашение вверх, а не вниз. Бьюсь об заклад, это простой способ взлома, если вы найдете нужное место в источнике.
clear
мои терминалы, после того как я сделан с определенной задачей (который radman уже использует). – Andrew 18 June 2010 в 08:27