Www.makeuseof.com
Содержание:
Between VM host, guests and the world
In order to let communications between host, guests and outside world, you may set up a bridge and as described at .
For example, you may modify network configuration file /etc/network/interfaces for setup ethernet interface eth0 to a bridge interface br0 similar as below. After the configuration, you can set using Bridge Interface br0 as the network connection in VM guests configuration.
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet manual
auto br0
iface br0 inet static
address 192.168.1.2
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
bridge_ports eth0
bridge_stp off
bridge_fd 0
bridge_maxwait 0
dns-nameservers 8.8.8.8
Managing VMs from the command-line
You can then use the virsh(1) command to start and stop virtual machines. VMs can be generated using virtinst. For more details see the libvirt page. Virtual machines can also be controlled using the kvm command in a similar fashion to QEMU. Below are some frequently used commands:
Start a configured VM guest «VMGUEST»:
# virsh start VMGUEST
Notify the VM guest «VMGUEST» to graceful shutdown:
# virsh shutdown VMGUEST
Force the VM guest «VMGUEST» to shutdown in case it is hanged, i.e. graceful shutdown not work:
# virsh destroy VMGUEST
Managing VM guests with a GUI
On the other hand, if you want to use a graphical UI to manage the VMs, you can use the Virtual Machine Manager virt-manager.
Automatic guest management on host shutdown/startup
Guest behavior on host shutdown/startup is configured in /etc/default/libvirt-guests.
This file specifies whether guests should be shutdown or suspended, if they should be restarted on host startup, etc.
First parameter defines where to find running guests. For instance:
# URIs to check for running guests # example: URIS='default xen:/// vbox+tcp://host/system lxc:///' URIS=qemu:///system
Как настроить LightDM на Arch Linux
Общеизвестно, что весьма утомительно устанавливать LightDM на Arch Linux. По этой причине многие предпочитают не использовать его в качестве диспетчера отображения по умолчанию в Arch Linux. Пропуск LightDM — это настоящий позор, так как это одна из лучших систем входа на Linux! В этом уроке мы рассмотрим, как заставить LightDM работать над Arch Linux.
Установить LightDM
LightDM легко доступен для пользователей Arch Linux (а также его производных, таких как Manjaro) на основных серверах программного обеспечения ОС. Однако имейте в виду, что пакеты LightDM находятся в программном источнике «Extra» — хранилище, которое пользователям необходимо включить вручную.
Чтобы предоставить вашей системе Arch Linux доступ к источнику программного обеспечения «Extra», откройте терминал и используйте его для редактирования файла конфигурации Pacman.
sudo nano /etc/pacman.conf
В файле Pacman.conf нажмите клавишу со стрелкой вниз и найдите «Extra». Удалите символ # перед ним, а также две строки ниже. Эти символы должны быть полностью удалены из репозитория программного обеспечения «Extra», иначе инструмент упаковки Pacman откажется включить его.
После удаления всех знаков комментария (#) нажмите сочетание клавиш Ctrl + O на клавиатуре, чтобы сохранить изменения. Затем закройте Nano, нажав Ctrl + X .
После внесения изменений повторно синхронизируйте менеджер пакетов и установите LightDM.
sudo pacman -Syyu lightdm
Выберите экран приветствия
LightDM установлен, но в отличие от других Диспетчеров отображения в Linux, этого недостаточно для его использования. Вместо этого, для правильной работы диспетчера дисплеев необходим «приветствующий».
Возможно, вы задаетесь вопросом «что такое greeter?». Это аспект программного обеспечения LightDM, с которым пользователь взаимодействует и использует для входа в систему. Существует много типов greeters, включая GTK (Gnome), основанный на WebKit, старый Ubuntu Unity One и многие другие! В этом руководстве мы кратко расскажем вам о различных доступных устройствах и расскажем, как их установить.
GTK встречающий
GTK greeter — это стандартная система входа в систему LightDM. Он хорошо работает с существующими темами GTK и разумно настраивается. Установите его с помощью команд ниже.
sudo pacman -S lightdm-gtk-greeter
Webkit2 приветствует
Приветствующий Webkit2 использует механизм рендеринга Webkit для создания пользовательских тем. Чтобы использовать его с LightDM на Arch, выполните следующие действия в терминале.
sudo pacman -S lightdm-webkit2-greeter
Pantheon приветствие
Pantheon greeter — это стандартная настройка входа в систему для проекта ElementaryOS. Те, кто хочет получить более «элементарный» вид, должны установить этот. Получите это с:
Приветствие Unity
Unity greeter — это настройка входа в LightDM, которую Ubuntu годами использует в своей пользовательской среде рабочего стола. Если вы пропустите этот стиль экрана входа в систему, установите его из AUR, следуя приведенным ниже командам.
Slick приветствие
Slick — приветствующий LightDM, одобренный многими производителями дистрибутива Linux. Чтобы получить его в своей системе Arch, выполните:
Mini greeter Мини-приветствие
Мини-приветствие — это настройка экрана входа в систему для LightDM, которая гораздо более компактна, чем другие приветствующие.
Мини-приветствие обслуживает только одного пользователя и, как следствие, требует гораздо меньше ресурсов. Mini доступен в AUR, и пользователи могут установить его с помощью следующих команд:
Включить приветствие
После того, как вы установили свой приветствующий LightDM, пришло время включить его в конфигурационные файлы. Откройте lightdm.conf в текстовом редакторе Nano.
sudo nano /etc/lightdm/lightdm.conf
Нажмите комбинацию клавиш Ctrl + W , введите « # greeter-session = example-gtk-gnome » и нажмите Enter .
Удалите символ # , а также example-gtk-gnome и замените его одним из сеансов в списке ниже.
lightdm-slick-greeter lightdm-webkit2-greeter lightdm-unity-greeter lightdm-pantheon-greeter lightdm-mini-greeter lightdm-gtk-greeter
Сохраните изменения в Lightdm.conf, нажав Ctrl + O , и выйдите из Nano, нажав Ctrl + X. После сохранения изменений проверьте настройки LightDM и убедитесь, что они работают с dm-tool .
lightdm --test-mode --debug
Настройка LightDM
Конфигурационный файл LightDM находится по адресу /etc/lightdm/lightdm.conf. Откройте этот файл следующей командой и введите нужные настройки. Все настройки добавляются в секцию .
Начнем:
Отключаем вход для гостей
По умолчанию LightDM позволяет входить в систему под именем временного пользователя, с ограниченными полномочиями, для отключения добавьте строку:
Отключение списка пользователей
Unity Greeter и еще несколько экранов входа показывают список пользователей lightdm. Эту функцию можно отключить, но тогда рекомендуется включить ручной ввод логина.
Автоматический вход
Чтобы разрешить автоматический вход lightdm необходимо добавить два параметра — указать имя пользователя по умолчанию и задержку перед автологином:
Если вы хотите разрешить автоматический вход под временным пользователем добавьте:
Выбор сессии
На компьютере может быть установлено несколько окружений рабочего стола или другие программы, позволяющие создавать отдельную сессию. Чтобы установить сессию по умолчанию добавьте:
Посмотреть доступные сессии можно командой:
Имя сессии — это название ее *.desktop файла.
Выбор экрана приветствия
Как я уже говорил, в системе может быть установлено несколько экранов приветствия. Чтобы выбрать экран приветствия добавьте такую строчку:
Доступные экраны приветствия смотрим в папке: /usr/share/xgreeters/.
Запускать скрипт по событию
Запустить скрипт после старта Х сервера:
Запустить после завершения работы Х сервера:
Запустить перед экраном приветствия:
Запустить перед стартом окружения рабочего стола:
Запустить после завершения сессии пользователя:
Команда запуска оболочки:
Команда запуска экрана входа:
Большинство этих настроек можно изменить и без прямого редактирования конфигурационного файла, а с помощью утилиты lightdm-set-defaults. Посмотреть доступные ключи можно командой:
Базовая настройка LightDM Ubuntu рассмотрена. Конечно, есть несколько графических утилит специально разработанных для настройки LightDM, но они уже устарели и не поддерживаются, поэтому их мы рассматривать не будем, а сразу перейдем к настройке экранов приветствия.
Custom text in console logon
FILE Wrapper for /bin/login
#!/bin/bash # Show sender and subject of all new emails: egrep -r --max-count=2 '^(From|Subject|$):' ~email_user/.maildir/new # Show user count, terminal, time, kernel version: echo $(who -q) $(tty) $(date '+') $(uname -r) # Continue with normal login: exec /bin/login preselected_login_user
The last line calls the actual /bin/login which will do all the heavy lifting. You can omit the user name in that line if you want to be prompted about it. Passing a username results in being prompted about the password only.
Finally edit /etc/inittab to use your login.sh wrapper, here we’ll use it on tty2:
FILE Use login.sh wrapper
c2:2345:respawn:/sbin/agetty --noclear --skip-login --login-program=/root/login.sh 38400 tty2 linux
Why Replace a Display Manager?
Why would anyone want to replace a display manager, you ask? Well, here are a few probable scenarios:
- You’re trying to revive an old PC and you need a lightweight display manager.
- Your current display manager breaks after an update, and it’s much faster to just install a different one than migrate to another distro.
- You want to apply gorgeous themes to your login window, but your distro’s default display manager is limited in this respect.
There are several popular display managers for Linux. You’ll notice they’re quite similar in appearance; the main differences are size, complexity, and how they manage users and sessions.
Миграция гостя из RHEL/CentOS 5.x
Есть несколько вещей, которые нужно модифицировать в гостевых конфигурационных файлах XML (/etc/libvirt/qemu/*.xml):
-
Переменная Machine в секции <os> должна быть pc, а не rhel5.4.0 или похожие.
-
Переменная Emulator должна указывать на /usr/bin/kvm, а не /usr/libexec/qemu-kvm.
Иными словами, соответствующие разделы должны выглядеть примерно так:
<os>
<type arch='x86_64' machine='pc'>hvm</type>
--- snip ---
<devices>
<emulator>/usr/bin/kvm</emulator>
Если у вас был настроен сетевой мост на хосте CentOS, то обратитесь к данной статье Wiki, в которой описано, как настроить его в Debian.
Диагностика
Не работает сетевой мост
virt-manager использует виртульную сеть для гостевых машин, по умолччанию это маршрут в 192.168.122.0/24 и вы можете посмотреть его набрав ip route как root.
Если этого маршрута нет в таблице маршрутизации ядра, то гостевые машины не смогут подключтся к сети и вы не сможете завершить создание гостевых машин.
Это очень легко исправить, откройте virt-manager и пройдите на вкладку «Edit» -> «Host details» -> «Virtual networks». Оттуда вы сможете создать виртуальную сеть для имеющихся машин или изменить значение по умолчанию. Обычно это проблема появляется тогда, когда сеть по умолчанию не запущена.
cannot create bridge ‘virbr0’: File exists:
Чтобы решить эту проблему вы можете удалить virbr0, запустив:
brctl delbr virbr0
Откройте virt-manager и пройдите на вкладку «Edit» -> «Host details» -> «Virtual networks» запустите сеть по умолчанию.
Во можете проверить сетевой статус (netstatus).
virsh net-list --all
При необходимости, можно использовать сетевой мост BridgeNetworkConnections
Внешние ссылки
Статьи хоть и старые, но более или менее дают представление, что это и как с этим работать:
-
Введение в основы виртуализации с KVM (2011)
-
Управление сетями в KVM (2011)
-
Управление носителями в KVM (2011)
-
Создание сетевого моста в KVM (2011)
-
Работа с KVM в Debian или Ubuntu из командной строки (2014)
-
-
#kvm — канал в IRC
-
-
https://web.archive.org/web/20080103004709/http://kvm.qumranet.com/kvmwiki/Debian — KVM on Debian Sid (old KVM wiki)
Tips and tricks
Override xinitrc
If you have a working but just want to try other window manager or desktop environment, you can run it by issuing startx followed by the path to the window manager, for example:
$ startx /usr/bin/i3
If the binary takes arguments, they need to be quoted to be recognized as part of the first parameter of startx:
$ startx "/usr/bin/application --key value"
Note that the full path is required. You can also specify custom options for the script by appending them after the double dash sign:
$ startx /usr/bin/enlightenment -- -br +bs -dpi 96
See also .
This article or section needs language, wiki syntax or style improvements. See Help:Style for reference.
Tip: This can be used to start regular GUI programs but without any of the basic window manager features. See also and Running program in separate X display.
Autostart X at login
Make sure that startx is properly .
For Bash, add the following to the bottom of . If the file does not exist, copy a skeleton version from . For Zsh, add it to .
if systemctl -q is-active graphical.target && ]; then exec startx fi
You can replace the comparison with one like (for vt1 to vt3) if you want to use graphical logins on more than one virtual terminal.
Alternative conditions to detect the virtual terminal include , which does not allow comparison with , and , which does not work in serial consoles.
If you would like to remain logged in when the X session ends, remove .
See also and .
Tip: This method can be combined with automatic login to virtual console.
Switching between desktop environments/window managers
If you are frequently switching between different desktop environments or window managers, it is convenient to either use a display manager or expand to make the switching possible.
The following example shows how to start a particular desktop environment or window manager with an argument:
~/.xinitrc
...
# Here Xfce is kept as default
session=${1:-xfce}
case $session in
i3|i3wm ) exec i3;;
kde ) exec startplasma-x11;;
xfce|xfce4 ) exec startxfce4;;
# No known session, try to run it as command
* ) exec $1;;
esac
To pass the argument session:
$ xinit session
or
$ startx ~/.xinitrc session
Starting applications without a window manager
It is possible to start only specific applications without a window manager, although most likely this is only useful with a single application shown in full-screen mode. For example:
~/.xinitrc
... exec chromium
Alternatively the binary can be called directly from the command prompt as described in .
With this method you need to set each application’s window geometry through its own configuration files (if possible at all).
Tip: This can be useful to launch graphical games, where excluding the overhead of a compositor can help improve the game’s performance.
See also .
Session configuration
To add/remove entries to your display manager’s session list; create/remove the .desktop files in as desired. A typical .desktop file will look something like:
Encoding=UTF-8 Name=Openbox Comment=Log in using the Openbox window manager (without a session manager) Exec=/usr/bin/openbox-session TryExec=/usr/bin/openbox-session Icon=openbox.png Type=XSession
Run ~/.xinitrc as a session
Installing AUR will provide an option to run your .xinitrc as a session. Simply set ‘xinitrc’ as your session in your display manager’s settings.
Starting applications without a window manager
You can also launch an application without any decoration, desktop, or window management. For example to launch AUR create a file in like this:
Encoding=UTF-8 Name=Web Browser Comment=Use a web browser as your session Exec=/usr/bin/google-chrome --auto-launch-at-startup TryExec=/usr/bin/google-chrome --auto-launch-at-startup Icon=google-chrome
In this case, once you login, the application set with will be launched immediately. When you close the application, you will be taken back to the login manager (same as logging out of a normal DE/WM).
It is important to remember that most graphical applications are not intended to be launched this way and you might have manual tweaking to do or limitations to live with (there is no window manager, so do not expect to be able to move or resize any windows, including dialogs; nonetheless, you might be able to set the window geometry in the application’s configuration files).
See also .
CPU
- Assign virtual CPU core to dedicated physical CPU core
- Edit the VM guest configuration, assume the VM guest name is «VMGUEST» having 4 virtual CPU core
# virsh edit VMGUEST
-
Add below codes after the line «<vcpu …»
<cputune> <vcpupin vcpu='0' cpuset='0'/> <vcpupin vcpu='1' cpuset='4'/> <vcpupin vcpu='2' cpuset='1'/> <vcpupin vcpu='3' cpuset='5'/> </cputune>
where vcpu are the virtual cpu core id; cpuset are the allocated physical CPU core id. Adjust the number of lines of vcpupin to reflect the vcpu count and cpuset to reflect the actual physical cpu core allocation. In general, the higher half physical CPU core are the hyperthreading cores which cannot provide full core performance while have the benefit of increasing the memory cache hit rate. A general rule of thumb to set cpuset is:
- For the first vcpu, assign a lower half cpuset number. For example, if the system has 4 core 8 thread, the valid value of cpuset is between 0 to 7, the lower half is therefore between 0 to 3.
- For the second and the every second vcpu, assign its higher half cpuset number. For example, if you assigned the first cpuset to 0, then the second cpuset should be set to 4.
For the third vcpu and above, you may need to determine which physical cpu core share the memory cache more to the first vcpu as described here and assign it to the cpuset number to increase the memory cache hit rate.
- Edit the VM guest configuration, assume the VM guest name is «VMGUEST» having 4 virtual CPU core
List of display managers
Console
CDM — Ultra-minimalistic, yet full-featured login manager written in Bash.
Console TDM — Extension for xinit written in pure Bash.
nodm — Minimalistic display manager for automatic logins, unmaintained since 2017.
Ly — Experimental ncurses display manager.
tbsm — A pure bash session or application launcher. Supports X and Wayland sessions.
emptty — Dead simple CLI Display Manager on TTY with X and Wayland support.
Graphical
Entrance — Enlightenment display manager.
GDM — GNOME display manager.
LightDM — Cross-desktop display manager, can use various front-ends written in any toolkit.
LXDM — LXDE display manager. Can be used independent of the LXDE desktop environment.
SDDM — QML-based display manager and successor to KDM; recommended for Plasma and LXQt.
XDM — X display manager with support for XDMCP, host chooser.
- ||
Как заменить менеджер дисплеев на Linux?
Процесс замены вашего текущего менеджера дисплеев на Linux состоит из двух шагов: установки нового и установки его как менеджера по-умолчанию. Первая часть процесса очень проста, вам просто нужно найти подходящий пакет для вашего дистрибутива и установить его. Вы можете установить старый менеджер дисплеев, если хотите, но в большинстве случаев это не является необходимостью (тем более, если ваш менеджер пакетов захочет удалить все окружение GNOME вместе с GDM, это точно не стоит делать).Процесс установки менеджера дисплеев в качестве используемого по-умолчанию отличается во всех дистрибутивах, но обычно это сводится к некоторым изменениям в файлах конфигурации или выполнению одной простой команды в терминале. Это короткое руководство предполагает, что у вас уже установлен желаемый менеджер дисплеев, и сейчас вам нужно лишь сделать так, чтобы он запускался при старте системы.
Для Ubuntu, Linux Mint и большинства производных Ubuntu
Выполните sudo dpkg-reconfigure gdm и выберите новый стандартный менеджер дисплеев в появившемся диалоге. Вы можете заменить gdm на любой другой менеджер дисплеев, который установлен в вашей системе. Если это не работает, вы можете отредактировать файл /etc/X11/default-display/manager с root-привилегиями.
Для Arch Linux и Manjaro
Включите сервис systemd для вашего нового менеджера дисплеев, используя команду systemctl enable displaymanager.service –f.Если это не работает, пользователи могут попробовать сначала отключить предыдущий дисплей-менеджер с помощью следующих команд:
в то время, как на Arch Linux вам может потребоваться удаление файла /etc/systemd/system/default.target и создание файла под названием display-manager.service в директории /etc/systemd/system. Этот новый файл должен быть символьной ссылкой на сервисный файл вашего нового менеджера дисплеев из директории /usr/lib/systemd/system/.Этот совет также применим к недавним версиям дистрибутива Fedora. Вы также можете изменить ваш менеджер дисплеев в Fedora с помощью удобной утилиты под названием system-switch-displaymanager.
Пользователям Debian
Процедура похожа на аналогичную в Ubuntu: вы должны заменить путь к вашему старому менеджеру дисплеев в /etc/X11/default-display-manager. Вам нужно будет отредактировать этот файл, обладая привилегиями root-пользователя. Вы также можете выполнить команду sudo dpkg-reconfigure yourdisplaymanager и выбрать новый дисплей-менеджер.
Для PCLinuxOS
Вы должны иметь возможность выбрать новый дисплей-менеджер из диалога в Control Center > Boot > Set up display manager. Если система не реагирует на изменения, попытайтесь отредактировать файл /etc/sysconfig/desktop, где вы можете установить предпочитаемый менеджер сессий.
Для пользователей openSUSE
Вы можете отредактировать файл /etc/sysconfig/displaymanager или использовать модуль Sysconfig Editor в YaST, чтобы получить доступ к настройкам для Desktop > Display Manager. Ваш новый дисплей-менеджер должен будет активироваться при следующей загрузке системы.
Действия для других дистрибутивов не должны сильно отличаться от тех, что мы описали здесь, особенно, если они основаны на дистрибутивах, упомянутых в нашей инструкции. Если дистрибутив использует systemd, скорее всего, для него будут применимы инструкции для Arch, Manjaro и Fedora.В зависимости от дисплей-менеджера, который вы установили, теперь вы можете попробовать установить для него какие-нибудь темы. MDM – это лучший выбор, если вам нравится кастомизация, поскольку этот дисплей-менеджер поддерживает и старые GDM, и новые HTML-темы. Вы можете найти их на веб-сайтах LinuxMint-Art и Gnome-Look.org. DeviantART предлагает хорошую коллекцию тем для различных менеджеров, а если вы используете SDDM, вы можете найти пакеты тем для него в репозиториях.Как вы увидели, заменить менеджер дисплеев не так сложно, как это звучит.
необходимо зарегистрироваться,
для того что бы оставить комментарий
Removing autologin in gdm3 and getting more verbose output in GDM
This is with respect to GDM3 as it’s known in GNOME 3 and above.
$ dpkg -S /etc/gdm3/daemon.conf gdm3: /etc/gdm3/daemon.conf
This is just to have an idea of the ownership of the file.
Now the file would look something like this :-
$ cat /etc/gdm3/daemon.conf
# GDM configuration storage
#
# See /usr/share/gdm/gdm.schemas for a list of available options.
# Enabling automatic login
AutomaticLoginEnable=true
AutomaticLogin=$USERNAME
# Enabling timed login
# TimedLoginEnable = true
# TimedLogin = user1
# TimedLoginDelay = 10
# Reserving more VTs for test consoles (default is 7)
# FirstVT = 9
# Only include selected logins in the greeter
# IncludeAll = false
# Include = user1,user2
# More verbose logs
# Additionally lets the X server dump core if it crashes
Enable = false
Now at times if you remove the user you just cannot go into the DE esp. if only a user is automatically logged in. This is and should be a bug but that’s another tale. Anyways the way to fix it is simple.
$ cat /etc/gdm3/daemon.conf
# GDM configuration storage
#
# See /usr/share/gdm/gdm.schemas for a list of available options.
# Enabling automatic login
AutomaticLoginEnable=false
# Enabling timed login
# TimedLoginEnable = true
# TimedLogin = user1
# TimedLoginDelay = 10
# Reserving more VTs for test consoles (default is 7)
# FirstVT = 9
# Only include selected logins in the greeter
# IncludeAll = false
# Include = user1,user2
# More verbose logs
# Additionally lets the X server dump core if it crashes
Enable = true
I just added the bits which should help us in case anything does go wrong.
Loading the display manager
To enable graphical login, enable the appropriate systemd service. For example, for SDDM, enable .
This should work out of the box. If not, you might have to reset a custom symlink to point to the default .
After enabling SDDM a symlink should be set in . You may need to use to override old symlinks.
$ ls -l /etc/systemd/system/display-manager.service
/etc/systemd/system/display-manager.service -> /usr/lib/systemd/system/sddm.service
Using systemd-logind
In order to check the status of your user session, you can use loginctl. All polkit actions like suspending the system or mounting external drives will work out of the box.
$ loginctl show-session $XDG_SESSION_ID