Voilá! Шаги 2 и 3 следуют:
Это работает, хотя это ужасно синхронизирует очень важный, тонкая настройка, как Вы считаете целесообразным, пыталась прокомментировать это прилично, таким образом, Вы видите то, что продолжается.
Необходимо будет установить xdotool для этого для работы, поскольку мы моделируем нажатия клавиш, чтобы сделать снимок и выход (пакет 'xdotool')
О, и необходимо будет выключить функцию 'обратного отсчета' в предпочтениях, иначе она будет вероятный CTRL-Q (выход) из программы, прежде чем она на самом деле сделает снимок.
#!/bin/bash
#
# L Nix <lornix@lornix.com>
# takeapic : take a photo with Cheese, using default settings, then exit
#
# start cheesing (2> because mine whines about cheesy stuff (ha!))
cheese 2>/dev/null &
# give WM some time to start up program (fails without this)
sleep 5
# set so we can determine if valid window(s) exist(s)
WINDOWIDS=""
# wait for up to 90 seconds (tweak this)
COUNTDOWN=90
while [ ${COUNTDOWN} -gt 0 ]; do
WINDOWIDS=$(xdotool search --class "cheese" 2>/dev/null)
if [ -n "${WINDOWIDS}" ]; then
break
fi
sleep 1
COUNTDOWN=$(( ${COUNTDOWN} - 1 ))
done
# did we get anything?
if [ -z "${WINDOWIDS}" ]; then
echo "Cheese never started, something's wrong"
exit 1
fi
# the shutter button is ALT-T
for WIDS in ${WINDOWIDS}; do
# if you combine these like xdotool allows, it fails
xdotool windowfocus ${WIDS} 2>/dev/null
xdotool key alt+t 2>/dev/null
done
# pause a moment while taking photo
sleep 1
# now CTRL-Q out of the application
for WIDS in ${WINDOWIDS}; do
xdotool windowfocus ${WIDS} 2>/dev/null
xdotool key ctrl+q 2>/dev/null
done
#
В надежде, что я не пропустил что-то:
sudo
создать каталогls
ясно состояния, что каталог принадлежит корнюЭто - нормальное поведение. У Вас есть следующие опции:
При использовании sudo для создания файла или каталога, Вы выполняете команду как корень, таким образом, файл будет, конечно, принадлежать корню.
Если Вы не можете создать файл/каталог (незначительная подсказка: каталоги являются просто специальными файлами) как обычный пользователь, корень может "дать" его обычному пользователю с chown
(синтаксис chown user:group file
).
Если многочисленным пользователям будет нужен доступ для записи к файлу, но не всем, необходимо будет использовать группу; если Вы не думаете, что группа необходима, можно использовать группу, названную в честь пользователя, который обычно существует (корень, и никто не плохой выбор в такой ситуации, которая является, почему у пользователей обычно есть отдельные группы также).
При использовании группы с многочисленными пользователями в нем необходимо будет также изменить полномочия предоставить доступ для записи к каталогу группе. Доступ для записи к каталогу означает способность создать и удалить файлы в нем (выполнитесь, пересечение, и читайте, содержание списка). Сделайте это с chmod g+w dirname
.
sudo mkdir
потому что myaccount не имеет достаточных прав выполниться, операции файла - все же myaccount имеет право выполнить команды sudo! К моим глазам новичка это походит на "лазейку". В Windows нет никакого sudo: пользователь, который принадлежит локальной группе администраторов или администраторов домена, наследовал права, но все еще действует в качестве того пользователя. Кроме того, нет ли некоторый способ выполнить WinSCP как sudo? – 04.07.2013, 20:11