Скорее всего, вы установили какой-то пакет, которому нужны эти пакеты KDE.
Вы можете удалить их, но внимательно посмотрите, что удаляется из-за зависимостей.
sudo -H gedit /etc/rc.local
До exit 0 введите: mount.vboxsf windows_share /media/windows_share vboxsf
Сохранить (необязательно) Создайте ярлык для рабочего стола или домашней папки: ln -s /media/windows_share /home/freddy/Desktop
Для загрузки без ошибок, например нажав S, чтобы пропустить монтировку или нажать M для ручного ремонта, возможно, вам придется удалить свою запись в fstab
После утомительного утреннего пробуя все вышеперечисленное в Ubutntu 16.04, работающего в Virtualbox 5.0.20, безуспешно (особенно разочарован тем, что решение rc.local не работает), он работал с помощью:
Регистрация из общего доступа Folders меню Virtualbox GUI - требуемый каталог, но НЕ автомонтирует его или постоянный монтаж из Virtualbox. В противном случае резидентный хост монтируется с помощью root, и больно получить доступ к пользователям без полномочий root даже из группы admin. добавление простой записи в fstab:[VirtuablBoxNameOfMount] /media/[guestOSuser]/[mountSubdir] vboxsf rw, noauto 0 1
Примечание noauto вариант - иначе загрузчик завершится сбоем, как было отмечено. Добавьте соответствующую строку в /etc/sudoers следующим образом, используя команду visudo из гостевой ОС: ALL ALL = NOPASSWD: /bin/mount /media/[guestOSuser]/[mountSubdir]/
Это позволит не-root-процессам специально монтировать это (поскольку fstab не может монтироваться с «пользователем», option ...)
Регистрация в меню общих папок графического интерфейса Virtualbox GUI - это требуемый каталог, но НЕ автоматическая его или постоянная установка из Virtualbox. В противном случае реестр хоста монтируется с помощью root, и больно получить доступ к пользователям, не являющимся root, даже из группы admin.Теперь выбранный хост-поддиремент готов для выбранного пользователя после войти в систему!
Я попробовал решение rc.local, но не смог заставить его работать. Однако я обнаружил, что проблема связана с папкой, в которой вы запускаете команду (не знаю почему). Поэтому я добавил строку, чтобы сменить каталог на домашнюю папку перед командой mount, и теперь он работает.
Итак, мой общий ресурс Windows называется Dropbox, моя точка монтирования - /home/jamie/Dropbox, мой пользователь name jamie, это то, что я поставил в rc.local:
cd /home/jamie
mount.vboxsf /home/jamie/Dropbox Dropbox vboxsf
exit 0
Я сделал это очень похожего режима, как было предложено выше, но этот сценарий создает необходимые и монтирует или отключает общую папку со следующим скриптом:
#!/bin/bash
#
# Mount automatically even shared folder on startup and unmount it at shutdown.
#
# VirtualBox (c) 2015 by Oracle Systems Inc.
#
####
# Check user privileges.
if [[ $EUID -ne 0 ]]; then
echo -e "This script must run at ROOT user!" \
"\nPlease, use 'sudo', 'visudo' or any other to run it."
exit 1
fi
# Check paramas from caller.
if [[ $# -eq 0 ]]; then
echo -e "Auto-Mount selected shared folder of VirtualBox machine." \
"\nUsage:" \
"\n VBoxShared <drive_one> <drive_two> <...>"
exit 2
fi
declare EVENT= # This set the ACTION: -m OR -u
declare -a DRIVES=()
# Processing each param:
for arg in "$@"; do
case "$arg" in
"-m"|"--mount")
if [[ -z ${EVENT} ]]; then
EVENT=-m
else
exit 318 # parameters at conflict!
fi
;;
"-u"|"--umount")
if [[ -z ${EVENT} ]]; then
EVENT=-u
else
exit 318 # parameters at conflict!
fi
;;
*)
DRIVES=("${DRIVES[@]}" "${arg}")
;;
esac
done
unset arg
[[ -z ${EVENT} ]] && exit 1 # ERROR: No se ha establecido la acción a realizar.
[[ "${#DRIVES[@]}" -gt 0 ]] || exit 1 # ERROR: No se han indicado las unidades a manejar.
# Process each shared folder stored on '${DRIVES}' array
for drive in "${DRIVES[@]}"; do
DEST="/media/sf_${drive}"
case "${EVENT}" in
"-m")
[[ -d ${DEST} ]] || (mkdir ${DEST} && chown root:vboxsf ${DEST} && chmod 770 ${DEST})
mount -t vboxsf ${drive} ${DEST}
;;
"-u")
if [[ `df --output=target | grep "${DEST}"` > /dev/null ]]; then
umount -f ${DEST}
rm -rf "${DEST}"
fi
;;
esac
unset DEST
done
unset drive
unset EVENT
unset DRIVES
exit 0
Сохраните его как /opt/.scripts/VBoxShared.sh.
Убедитесь, что это можно запустить. На тип оболочки:
sudo chmod a+x /opt/.scripts/VBoxShared.sh
Теперь добавим строку, которая запускает этот скрипт на rc.local:
sudo nano /etc/rc.local
, и мы добавляем эту строку перед последней строкой ():
. /opt/.scripts/VBoxShared.sh --mount <SharedFolder1> [<SharedFolder2> <SharedFolder3> ...]
Сохранить (CtrlO) и закрыть его (CtrlX)
На этом этапе мы автоматически монтируем всю общую папку, указанную в <SharedFolder> при запуске.
Чтобы размонтировать его, нам нужен только тип:
sudo nano /etc/rc6.d/K99-vboxsf-umount.sh
#!/bin/bash
. /opt/.scripts/VBoxShared --umount <SharedFolder1> [<SharedFolder2> <SharedFolder3> ...]
exit 0
Сохранить ( Ctrl O) и закрыть ( O X)
sudo chmod a+x /etc/rc6.d/K99-vboxsf-auto.sh
И это все!
Это рабочее решение.
Как root (I.E. sudo su) Перейдите в домашнюю папку (cd ~) и создайте файл cron: vi cronjobs Добавьте следующий спам @reboot 15; mount -t vboxsf app / mnt / app
Сохранить файл
Примечание: замените приложение на имя вашей общей папки и / mnt / app, где вы хотите его установить. В этом случае я сначала создал приложение для папки под mount (приложение mkdir).
Чтобы включить ваш cron как root (для указанного выше имени файла) crontab cronjobs
Убедитесь, что cron активен: crontab -l
перезагрузится, и он будет установлен. 15 секундный сон позволяет достаточно времени, чтобы все было готово для монтирования.