* * * * * DISPLAY=:0 xdotool mousemove 20 20
По крайней мере, должен работать, пока это находится в crontab того же пользователя как тот, имеющий X сессий на соответствующем дисплее.
Если другой пользователь должен сделать mousemove, необходимо предоставить ему доступ к дисплею. Это может быть сделано путем предоставления ему Cookie Magick MIT для дисплея и позволять ему установить его в своем собственном X подлинных хранилищ (использование xauth
), или это может быть, покончите:
xhost +si:localuser:the-user
Или это может быть сделано путем предоставления ему доступа к собственному X подлинных хранилищ, например, путем выполнения:
setfacl -m u:the-user:r ~/.Xauthority
И измените crontab строку на:
* * * * * DISPLAY=:0 XAUTHORITY=~me/.Xauthority xdotool...
Если тот другой пользователь является корнем, Вам не нужно setfacl
шаг, но я не выполнил бы xdotool как root
, никакая причина этого. Можно выполнить его как собственный пользователь.
Просто установите нормально. Вы можете загружаться с вашего USB и следуйте инструкциям установщика. Вы можете либо создать раздел вручную перед установкой или использованием инструментов, предоставляемых MINT-установщиком для раздела во время процесса установки.
Единственное, о чем вы действительно должны беспокоиться, это когда установщик спрашивает вас, стоит ли установить загрузочный загрузчик (GRUB). Затем у вас есть 2 варианта. Поскольку у вас уже есть GRUB, установленный Ubuntu, вы можете либо выбрать не устанавливать новую из Mint, и использовать Ubuntu's или вы можете установить MINT и перезаписать Ubuntu.
Используйте существующий GRUB.
Когда установщик просит вас ли устанавливать загрузчик, скажем нет. После завершения установки перезагрузите и загрузите Ubuntu (Mint не появится в списке доступных OSS). От Ubuntu, обновите GRUB, так что он обнаружит вашу новую монтажу Mint:
Sudo Update-Grub
Используйте Mint's Grub.
Когда установщик спрашивает вас, следует ли установить загрузочный загрузчик, скажи да. Убедитесь, что вы устанавливаете его в том же месте, где был установлен ваш GRUB Ubuntu. Это, вероятно, будет главная загрузка (MBR) вашего основного жесткого диска. Перезагрузитесь, и теперь вы должны установить Mint's Grub и сможет выбрать Mint, Ubuntu или Windows.
Большинство систем поддерживают загрузку разных установок с разных разделов. Я обнаружил, что мультизагрузка с несколькими установками Linux лучше всего работает, если каждая установка имеет свою собственную копию GRUB.
Загрузить GRUB из GRUB довольно просто, если вы используете последнюю версию GRUB.
Этот /etc/grub.d/40_custom
файл позволяет мне выполнять мультизагрузку между разными версиями Ubuntu. Он должен выглядеть аналогично в других дистрибутивах, хотя файл конфигурации может иметь другое имя, и, очевидно, путь к core.img
будет отличаться в каждом случае.
#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
set timeout=25
set timeout_style=menu
menuentry 'Raring' { multiboot /raring/boot/grub/i386-pc/core.img }
menuentry 'Saucy' { multiboot /saucy/boot/grub/i386-pc/core.img }
menuentry 'Trusty' { multiboot /trusty/boot/grub/i386-pc/core.img }
Возможна загрузка нескольких дистрибутивов Linux с одного раздела. Я не знаю ни одного дистрибутива, поддерживающего это «из коробки», но большинство дистрибутивов могут сделать это с небольшими изменениями. Я использовал этот файл / usr / share / initramfs-tools / hooks / rootdir
для загрузки Ubuntu и Debian из подкаталога, а не из корня раздела:
#!/bin/sh
# /usr/share/initramfs-tools/hooks/rootdir
set -e
if [ "$1" = prereqs ]; then
exit 0
fi
. /usr/share/initramfs-tools/hook-functions
DEFAULT_DIR="$(/usr/bin/grub-mkrelpath /)"
mkdir -p "$DESTDIR"/scripts/local-bottom
cat >"$DESTDIR"/scripts/local-bottom/rootdir <<EOF
#!/bin/sh
PREREQ=""
prereqs()
{
echo "\$PREREQ"
}
case \$1 in
prereqs)
prereqs
exit 0
;;
esac
ROOTDIR="$DEFAULT_DIR"
for x in \$(cat /proc/cmdline); do
case \${x} in
rootdir=*)
ROOTDIR="\${x#rootdir=}"
;;
esac
done
if [ -n "\${ROOTDIR#/}" ] && [ -d "/root/\${ROOTDIR}" ]
then
[ -d /rootfs ] || mkdir -m 0700 /rootfs
mount --move "/root" "/rootfs"
mount --bind "/rootfs/\${ROOTDIR}" "/root"
umount "/rootfs"
fi
EOF
chmod 0755 "$DESTDIR"/scripts/local-bottom/rootdir