Если вы добавите команду запуска для своей виртуальной машины в / home /
, то эта команда будет выполняется (один раз), когда пользователь с именем <имя пользователя>
входит в систему.
Для VirtualBox:
VBoxManage startvm "<machinename>"
Вы можете добавить параметры для его запуска в полноэкранном режиме (например, VBoxSDL -vm "Windows XP "- полноэкранный режим
).
Если у пользователя есть виртуальная машина, он все же окажется в Linux.
Если вы также хотите выйти из системы после завершения работы VirtualBox, выполните следующие действия в Gnome (или Unity):
Создайте файл с именем runvm
и сделайте его исполняемым:
$ touch runvm
$ chmod u+x runvm
Откройте редактор и добавьте следующие строки:
VBoxManage startvm "<machinename>"
sleep 1
while pgrep VirtualBox > /dev/null; do sleep 1; done
kill -9 -1
Сохраните файл.
Примечание. Вы можете получить "", запустив виртуальную машину и запустив:
$ VBoxManage list vms
Вы можете проверить это, вызвав runvm &
, а затем выключив виртуальную машину после ее запуска. Пользователь принудительно выходит из системы, и система возвращается к приглашению входа в систему.
Когда это сработает, добавьте следующую строку в свой файл .profile
:
nohup $HOME/runvm &
Быстрое редактирование файла .profile
:
$ echo "nohup $HOME/runvm &" >> .profile
Так как я могу узнать, что ядро готово к моей странице? Как я могу просто не освободить страницу, верно?
vmsplice -> pipe -> splice -> tcpsocket
Я бы дождался ответа, после чего ядро очистит свой буфер SEND, и моя страница снова станет моей?
no
Подождите, пока ответ , который в используемом вами протоколе подтверждает, что все подаренные страницы были получены . Тогда вы узнаете, что ядро очистило буфер отправки всех переданных страниц.
(Между прочим, я бы не стал предполагать, что содержимое страниц сохранится. Я полагаю, что его можно зашифровать на месте для IPSec).
Очевидно, также возможно получить «количество неотправленных данных в очереди отправки сокета», так что это еще один способ сделать это. https://stackoverflow.com/questions/6421771/vmsplice-and-tcp (конечно, вам не нужно ждать, пока он упадет до 0 согласно этой ссылке, вы можете повторно использовать каждый страницу, как станет безопасно). Это требует опроса в случае, если вы не заполняете очередь отправки ядра. (Когда вы это делаете, вы просто перепроверяете, в то же время select () epoll () сообщает вам, что есть больше места для записи данных).
Предполагаемое использование — vmsplice дарит mmaped страницы, вы не можете изменить их после vmsplice, но вы можете их munmap.