Простой ответ, "они не скопировали и вставка". Не в пути Вы понимаете это, так или иначе.
Очень самые ранние системы Unix использовали телетайпы или простые терминалы для интерактивного использования. Эти устройства не имели мощных терминальных наборов команд который сделанными более поздними инновациями (!) как vi
возможный. (Да, когда-то давно, vi
была высокая технология.) У Вас поэтому не было способа визуально отметить текст, который будет скопирован или сокращен.
При недостатке в умных терминалах ранние системы Unix предложили названный строчный редактор ed
. Самая близкая вещь необходимо вырезать и вставить с ed
t
команда, с которой можно указать строки числом, которое будет передано (скопированные) в другое местоположение в файле.
Перфорированные карты и перфолента были все еще важными медиа ввода-вывода в это время. Один способ "отредактировать" перфоленту состоит в том, чтобы пропустить свои данные через что-то как sed
, непосредственно от читателя перфоленты, поскольку это считывает данные в. Сегодня sed
привыкает для других вещей, но это было намного более важно в первые годы Unix.
Я закончил тем, что делал несколько сценариев для решения моей проблемы.
Сценарии требуют sudoless setpci (можно, вероятно, играть с некоторым chmods после рассмотрения ошибок, которые Вы получаете путем выполнения setpci, чтобы не редактировать sudoers) через строку как:
androith ВСЕ = (ВЕСЬ) NOPASSWD:/usr/bin/setpci
Наконец, необходимо будет держать "файл состояния" в чем-то сродни/home/androith/.scripts/brightness/state, содержащему только состояние (BF для начала в порядке).
яркость-up.sh
#!/bin/bash
# Get the stored state from file
exec < /home/androith/.scripts/brightness/state # stdin replaced by this file
read state # first line of file goes to state variable
# Increase the state, up to FF
new_state=$(echo "$[0x$state+0x10]") # in decimal
if [ "$new_state" -gt 255 ] # 255 = FF in hex
then
echo "Already at maximal brightness."
else
state=$(echo "obase=16; $new_state" | bc) # put into hex
echo "Setting brightness to $state and storing state..."
sudo setpci -s 00:02.0 F4.B=$state # passwordless sudo
echo $state > /home/androith/.scripts/brightness/state
fi
яркость-down.sh
#!/bin/bash
# Get the stored state from file
exec < /home/androith/.scripts/brightness/state # stdin replaced by this file
read state # first line of file goes to state variable
# Decrease the state, down to FF
new_state=$(echo "$[0x$state-0x10]") # in decimal
if [ "$new_state" -lt 15 ] # 15 = 0F in hex
then
echo "Already at minimal brightness."
else
state=$(echo "obase=16; $new_state" | bc) # update and put into hex
echo "Setting brightness to $state and storing state..."
sudo setpci -s 00:02.0 F4.B=$state # passwordless sudo
echo $state > /home/androith/.scripts/brightness/state
fi
яркость-default.sh
#!/bin/bash
# Set brightness to default value
state=AF
sudo setpci -s 00:02.0 F4.B=$state # passwordless sudo
echo $state > /home/androith/.scripts/brightness/state
Существует немного программы, названной xbacklight. Это может получить и установить яркость Вашего экрана. Если у Вас есть веб-камера, можно даже позволить ей установить яркость автоматически путем деления снимка, получения средней яркости и установки яркости экрана соответственно.
image='/home/kim/brightness.jpeg'
streamer -c /dev/video0 -b 16 -o $image >/dev/null 2>/dev/null && \
meanline=`convert $image -colorspace gray -verbose info: | grep '^\s*mean: '`
if [[ $meanline =~ \((.*)\) ]]; then
brightness="${BASH_REMATCH[1]}"
brightness=`echo "$brightness * 200" | bc`
echo $brightness
xbacklight -set $brightness
xbacklight
fi
rm -f "$image"
Я знаю, что это не очень безопасный способ сделать его.. но это работает.
#!/bin/bash
password="your_password_here"
set_value_to=$(zenity --title="Brightness control" --scale --text="Adjust the brightness value" --min-value=5 --max-value=95 --value=50)
echo $password | sudo -S setpci -s 00:02.0 f4.b=$set_value_to
Xbacklight не работает над моим нетбуком; подсветка не видима к подсистеме ACPI. Я взломал эти два сценария оболочки вместе, хотя:
brightup.sh:
#!/bin/bash
var1=`sudo setpci -s 00:02.0 f4.b | tr [:lower:] [:upper:]`;
var2=$(echo "obase=16;ibase=16;${var1} + 8" |bc)
sudo setpci -s 00:02.0 f4.b=$var2
brightdown.sh:
#!/bin/bash
var1=`sudo setpci -s 00:02.0 f4.b | tr [:lower:] [:upper:]`;
var2=$(echo "obase=16;ibase=16;${var1} - 8" |bc)
sudo setpci -s 00:02.0 f4.b=$var2
Проблема, которую я имею, состоит в том, что это требует sudo. Конечная цель этого должна установить эти два сценария оболочки для выполнения как сочетания клавиш, таким образом, я должен выяснить, как установить setpci, чтобы смочь работать без пароля с sudo. Я знаю, это, вероятно, небезопасно, и клудж, но я не вижу никаких других опций в этой точке.
также, я приношу извинения за некролуг этот поток, но это два сценария, которые я искал в межсетях с тех пор, как я переключился назад на использование Linux ежедневно.