Ubuntu отключить графический интерфейс
Say if I wanted to replicate Ubuntu Server and have no GUI running what would I do to make this happen? Upon running htop/top from tty session I see both gnome and xorg are still running and sucking up quite a substantial amount of memory (I'm using VirtualBox and have 1024MB allocated to Ubuntu). I would preferably want the ability to disable/stop gnome and Xorg whenever I wish in order to free resources. I don't see any point in switching to tty from Xorg and keeping the processes running. I would however like to have the ability to re-enable/start the necessary files upon leaving tty. I do not want things to be permanently disabled although having this option would be useful/
Any help? Thanks
@customcup OK. Feel free to ask if you encountered any problem . Good luck ;)4 Answers 4
You can use systemctl to "isolate" targets, which is to some extend similar to switching runlevels. The targets of interest here are
Confusingly, graphical.target is the default target in both Ubuntu desktop and server, but since there is no display manager installed in server it's essentially the same as multi-user.target .
Switch while Ubuntu is running
Switch to "text mode" (you can simply run this in e.g. gnome-terminal ):
Switch to "graphical mode":
Set boot target
You can set the default target that is reached after boot (persists across reboot), e.g.:
You can also set a target with the kernel parameter systemd.unit , e.g.
The kernel parameter has precedence over the default target.
This can be used to boot to a specific target once by editing the grub boot entry before boot. Or you could add multiple boot entries for different targets.
4,894 1 1 gold badge 15 15 silver badges 24 24 bronze badges Could you add the information whether this change persists across reboots? @CarstenS isolate is ephemeral; to make it persistent use set-default @customcup which Ubuntu version do you use? In my 18.04 virtualbox VM, I get a login screen on tty1 after isolating multi-user.target. Did you run it in a tty or in a terminal emulator inside gnome?You can use systemctl(the systemd system and service manager) to control your display manager. In the case of Ubuntu, this is GDM - Gnome Display Manager, SDDM and LightDM are other common display managers.
To check the status from the command line:
To disable (prevent loading at system startup):
To enable (loading at system startup):
Another way of achieving this is to edit the line beginning with the linux command on your grub entry and add the number 3 at the end to boot in runlevel 3 which won't start x-server at all by default.
It should look something like this :
This has the same result as others have pointed out , but you can change it even before the system boots up.
In the grub menu press the e button on the ubuntu menu entry and after putting 3 at the end of the line , just press Ctrl+x to boot. Note that this won't save this config for you. If you want to save it , you must edit the file /boot/grub/grub.cfg . (And this is the scenario if you cannot get the grub menu at boot screen , because for example grub's timeout was set to zero. )
And another option for you is to install Ubuntu server which doesn't have GUI at all. unless you have a reason to stick with the desktop version. (e.g desktop version has more tools installed by default , like g++ ).
Да, ваш рабочий стол запущен с веб-службы systemd. Отключите его, и вы все равно можете вручную запустить его. systemctl list-units --type service --all перечислит все службы.
Это должно показать статус вашей сессии:
systemctl status gdm.service
systemctl disable gdm.service
И это снова позволяет:
systemctl enable gdm.service
Замените его kde, если вы используете kUbutu. Или любой другой рабочий стол, который вы используете.
Возможно, вам также придется убить текущий активный рабочий стол.
Если вы собираетесь использовать эту систему в качестве сервера, вы также можете удалить свой рабочий стол с помощью sudo apt purge ubuntu-desktop. Будьте осторожны: сделайте это, пока у вас есть ssh-соединение, поэтому вы все равно можете выдавать команды; блокировка себя из системы может быть фатальной.
Да, ваш рабочий стол запущен с веб-службы systemd. Отключите его, и вы все равно можете вручную запустить его. systemctl list-units --type service --all перечислит все службы.
Это должно показать статус вашей сессии:
systemctl status gdm.service
systemctl disable gdm.service
И это снова позволяет:
systemctl enable gdm.service
Замените его kde, если вы используете kUbutu. Или любой другой рабочий стол, который вы используете.
Возможно, вам также придется убить текущий активный рабочий стол.
Если вы собираетесь использовать эту систему в качестве сервера, вы также можете удалить свой рабочий стол с помощью sudo apt purge ubuntu-desktop. Будьте осторожны: сделайте это, пока у вас есть ssh-соединение, поэтому вы все равно можете выдавать команды; блокировка себя из системы может быть фатальной.
Когда я удаляю рабочий стол, мне нужно установить серверные компоненты после этого? Или достаточно просто установить opensshserver? Будет ли базовая система по-прежнему иметь возможность запускать программное обеспечение, например, медиа-сервер Plex? – TOM 5 May 2018 в 15:42Да, ваш рабочий стол запущен с веб-службы systemd. Отключите его, и вы все равно можете вручную запустить его. systemctl list-units --type service --all перечислит все службы.
Это должно показать статус вашей сессии:
systemctl status gdm.service
systemctl disable gdm.service
И это снова позволяет:
systemctl enable gdm.service
Замените его kde, если вы используете kUbutu. Или любой другой рабочий стол, который вы используете.
Возможно, вам также придется убить текущий активный рабочий стол.
Если вы собираетесь использовать эту систему в качестве сервера, вы также можете удалить свой рабочий стол с помощью sudo apt purge ubuntu-desktop. Будьте осторожны: сделайте это, пока у вас есть ssh-соединение, поэтому вы все равно можете выдавать команды; блокировка себя из системы может быть фатальной.
Когда я удаляю рабочий стол, мне нужно установить серверные компоненты после этого? Или достаточно просто установить opensshserver? Будет ли базовая система по-прежнему иметь возможность запускать программное обеспечение, например, медиа-сервер Plex? – TOM 5 May 2018 в 15:42Да, ваш рабочий стол запущен из системного веб-сервиса systemd. Отключите его, и вы все равно можете вручную запустить его. systemctl list-units --type service --all перечислит все службы. Для меня это список «gdm.service».
Это должно показать статус вашей сессии:
Это отключает его:
И это снова позволяет:
Замените его kde, если вы используете kUbutu. Или любым другим рабочим столом, который вы используете.
Возможно, вам также придется убить текущий активный рабочий стол.
Если вы собираетесь использовать эту систему в качестве сервера, вы также можете удалить сам рабочий стол с помощью sudo apt purge ubuntu-desktop . Будьте осторожны: сделайте это, пока у вас есть ssh-соединение, поэтому вы все равно можете выдавать команды; блокировка себя из системы может быть фатальной.
Да, ваш рабочий стол запущен из системного веб-сервиса systemd. Отключите его, и вы все равно можете вручную запустить его. systemctl list-units --type service --all перечислит все службы. Для меня это список «gdm.service».
Это должно показать статус вашей сессии:
Это отключает его:
И это снова позволяет:
Замените его kde, если вы используете kUbutu. Или любым другим рабочим столом, который вы используете.
Возможно, вам также придется убить текущий активный рабочий стол.
Если вы собираетесь использовать эту систему в качестве сервера, вы также можете удалить сам рабочий стол с помощью sudo apt purge ubuntu-desktop . Будьте осторожны: сделайте это, пока у вас есть ssh-соединение, поэтому вы все равно можете выдавать команды; блокировка себя из системы может быть фатальной.
Да, ваш рабочий стол запущен из системного веб-сервиса systemd. Отключите его, и вы все равно можете вручную запустить его. systemctl list-units --type service --all перечислит все службы. Для меня это список «gdm.service».
Это должно показать статус вашей сессии:
Это отключает его:
И это снова позволяет:
Замените его kde, если вы используете kUbutu. Или любым другим рабочим столом, который вы используете.
Возможно, вам также придется убить текущий активный рабочий стол.
Если вы собираетесь использовать эту систему в качестве сервера, вы также можете удалить сам рабочий стол с помощью sudo apt purge ubuntu-desktop . Будьте осторожны: сделайте это, пока у вас есть ssh-соединение, поэтому вы все равно можете выдавать команды; блокировка себя из системы может быть фатальной.
Да, ваш рабочий стол запущен из системного веб-сервиса systemd. Отключите его, и вы все равно можете вручную запустить его. systemctl list-units --type service --all перечислит все службы. Для меня это список «gdm.service».
Это должно показать статус вашей сессии:
Это отключает его:
И это снова позволяет:
Замените его kde, если вы используете kUbutu. Или любым другим рабочим столом, который вы используете.
Возможно, вам также придется убить текущий активный рабочий стол.
Если вы собираетесь использовать эту систему в качестве сервера, вы также можете удалить сам рабочий стол с помощью sudo apt purge ubuntu-desktop . Будьте осторожны: сделайте это, пока у вас есть ssh-соединение, поэтому вы все равно можете выдавать команды; блокировка себя из системы может быть фатальной.
Да, ваш рабочий стол запущен из системного веб-сервиса systemd. Отключите его, и вы все равно можете вручную запустить его. systemctl list-units --type service --all перечислит все службы. Для меня это список «gdm.service».
Это должно показать статус вашей сессии:
Это отключает его:
И это снова позволяет:
Замените его kde, если вы используете kUbutu. Или любым другим рабочим столом, который вы используете.
Возможно, вам также придется убить текущий активный рабочий стол.
Если вы собираетесь использовать эту систему в качестве сервера, вы также можете удалить сам рабочий стол с помощью sudo apt purge ubuntu-desktop . Будьте осторожны: сделайте это, пока у вас есть ssh-соединение, поэтому вы все равно можете выдавать команды; блокировка себя из системы может быть фатальной.
Да, ваш рабочий стол запущен из системного веб-сервиса systemd. Отключите его, и вы все равно можете вручную запустить его. systemctl list-units --type service --all перечислит все службы. Для меня это список «gdm.service».
Это должно показать статус вашей сессии:
Это отключает его:
И это снова позволяет:
Замените его kde, если вы используете kUbutu. Или любым другим рабочим столом, который вы используете.
Возможно, вам также придется убить текущий активный рабочий стол.
Если вы собираетесь использовать эту систему в качестве сервера, вы также можете удалить сам рабочий стол с помощью sudo apt purge ubuntu-desktop . Будьте осторожны: сделайте это, пока у вас есть ssh-соединение, поэтому вы все равно можете выдавать команды; блокировка себя из системы может быть фатальной.
Да, ваш рабочий стол запущен из системного веб-сервиса systemd. Отключите его, и вы все равно можете вручную запустить его. systemctl list-units --type service --all перечислит все службы. Для меня это список «gdm.service».
Это должно показать статус вашей сессии:
Это отключает его:
И это снова позволяет:
Замените его kde, если вы используете kUbutu. Или любым другим рабочим столом, который вы используете.
Возможно, вам также придется убить текущий активный рабочий стол.
Если вы собираетесь использовать эту систему в качестве сервера, вы также можете удалить сам рабочий стол с помощью sudo apt purge ubuntu-desktop . Будьте осторожны: сделайте это, пока у вас есть ssh-соединение, поэтому вы все равно можете выдавать команды; блокировка себя из системы может быть фатальной.
В руководстве приведены примеры редактирования конфигурационных файлов с помощью текстовых редакторов «nano» и «gedit». Обратите внимание на то, что первый редактор запускается в терминале и может быть использован как при запуске Ubuntu с графическим интерфейсом, так и без него, а «gedit» можно использовать только при включенной графической среде.
Требования к системе
Прежде чем Вы начнете, убедитесь, что:
Для настроек вам обязательно потребуется имя вашего сетевого адаптера. Его можно узнать из вывода команды:
Она позволяет посмотреть подключенные сетевые устройства.
Пример вывода команды:
Обратите внимание на строку:
eth0 - это и есть искомое имя сетевого интерфейса.
Имя eth0 будет далее применяться для настройки именно данной сетевой карты. Где eth обозначает что используется Ethernet интерфейс, а 0 - номер устройства. Если у вас установлено несколько сетевых устройств, то, соответственно, им будут присвоены имена: eth0 , eth1 , eth2 и т.д.
После внедрения SystemD (начиная с Ubuntu 15.04) сетевые интерфейсы могут иметь другие имена (не ethX). Сделано это для того, что бы имена сетевых устройств не менялись при подключении к машине новых адаптеров (в последнее время, некоторые USB модемы выступают в роли сетевого адаптера). В результате eth0 может называться например enp0s4 или eno1, или даже enx78e7d1ea46da. Именно это имя сетевого адаптера и нужно использовать в настройке сети.Более подробно о наименовании сетевых интерфейсов в SystemD можно почитать тут (англ.).
Такое переименование можно отключить добавив в /etc/default/grub, в строку с переменной GRUB_CMDLINE_LINUX_DEFAULT строку net.ifnames=0. После этого нужно выполнить sudo update-grub
Настройка проводной сети
Настройка IP-адреса, шлюза по умолчанию, маски подсети
Отредактируйте файл конфигурации /etc/network/interfaces , например так:
И допишите в него:
Для статического IP:
eth0 - имя подключаемого своего интерфейса. Список интерфейсов можно посмотреть набрав:
В итоге файл /etc/network/interfaces должен выглядеть примерно так:
(для одного проводного соединения со статическим IP)
Сохраните файл и закройте редактор. В данном примере (редактор nano) - нажмите Ctrl + X , затем Y , убедитесь, что «Имя файла для записи» - /etc/network/interfaces и нажмите Enter .
Более подробно про синтаксис файла /etc/network/interfaces можно прочитать в документации.
Пример конфигурации для динамического IP:
Временная настройка IP-адреса и маски подсети
При необходимости задать пробные настройки, выполните:
Где 192.168.0.1 - наш IP-адрес, /24 - число бит в префиксной части адреса (соответствует маске подсети 255.255.255.0).
eth0 - подключаемый сетевой интерфейс.
Данные настройки пропадут после перезагрузки системы и не повлияют на файл /etc/network/interfaces
Настройка DNS
Обратите внимание - в /etc/resolv.conf, при записи нескольких серверов используется несколько ключей nameserver, а в /etc/network/interfaces все адреса DNS серверов записывались в одну строчку после ключа dns-nameservers, разделенные пробелами.В итоге описание статического интерфейса в /etc/network/interfaces должно выглядеть примерно так:
Ubuntu до версии 12.04
В более старых версиях ubuntu, когда есть необходимость указать статические адреса DNS серверов (если они не выдаются автоматически) выполните:
Настройка соединений ppp
За создание соединений типа «точка-точка» в Ubuntu отвечает демон pppd , более подробная информация о котором доступна в документации. В рамках данного руководства будут рассмотрены примеры создания PPPoE подключения через DSL модем, подключения PPTP (VPN-подключения) и DIAL-UP подключения через обычный модем.
Соединение PPPoE
В стандартную установку Ubuntu входит утилита для настройки PPPoE соединений – pppoeconf , для ее запуска наберите:
Появится «псевдографическое» 2) окно в терминале. Утилита произведет поиск сетевых устройств и выведет их на экран, далее она произведет поиск модема 3) на этих устройствах. Если на этом этапе pppoeconf выдаст отрицательный результат - проверьте правильность подключения, питание модема. Следующий шаг - выбор «популярных параметров» - в большинстве случаев стоит согласиться. Далее утилита запросит Ваш логин, а затем - пароль. Теперь - выбор способа указания DNS серверов. Опять же, в большинстве случаев следует согласиться на получение адресов DNS серверов автоматически. Далее Вам предложат ограничить размер MSS до 1452-х байт - как правило, стоит согласиться. Следующий вопрос - устанавливать ли подключение автоматически при загрузке компьютера. Последний вопрос утилиты - установить ли соединение сейчас. pppoeconf по умолчанию создает для подключения имя dsl-provider. Управлять подключением Вы можете при помощи команд:
Если в Вашем случае опций, предоставляемых утилитой pppoeconf недостаточно - обратитесь к документации по pppd или pppoeconf.
Замечание: при настройке соединения с помощью pppoeconf часть настроек записывается в /etc/network/interfaces , в результате чего Network Manager больше не может управлять сетью. Выход: либо использовать только NM, либо только консоль+конфиги. Вернуть управление Network Manager можно следующим образом. Приведите /etc/network/interfaces к следующему виду (лишнее не обязательно удалять, достаточно закомментировать):
Перезагрузитесь или перезапустите Network Manager:
Соединение PPTP
И добавьте туда опции подключения, например такие:
Далее - отредактируйте файл /etc/chap-secrets 4) и добавьте туда:
После перезагрузки системы Вы сможете управлять соединением при помощи команд:
Процесс настройки VPN-соединения может сильно облегчить скрипт-помощник.
Настройка DIAL-UP подключения
Для настройки модемного соединения можно использовать встроенный конфигуратор pppd - pppconfig или специальную утилиту wvdial .
При помощи pppconfig
Процесс настройки при помощи pppconfig во многом похож на утилиту pppoeconfig , Вам по очереди будут заданы вопросы о параметрах подключения, и будет предложено ввести номер телефона, логин и пароль, а также имя соединения. Запускать pppconfig следует с правами суперпользователя. Например так:
Управлять соединением можно так:
Где my-provider - имя, присвоенное Вами соединению при настройке.
При помощи wvdial
В некоторых случаях (например при подключении с использованием мобильного телефона), удобнее использовать wvdial . Для этого нужно его сначала установить. Например так:
В состав пакета wvdial входит утилита автоматического конфигурирования - wvdialconf .
Вывод будет примерно следующим:
Теперь остается только отредактировать файл /etc/wvdial.conf и добавить в него номер телефона, логин и пароль.
В данном примере я дополнительно добавил несколько опций. См. комментарии.
Файл /etc/wvdial.conf разбит на секции, в качестве разделителей которых выступают сами названия секций, предварённые словом Dialer, в квадратных скобках. Если исполнять команду без параметров, то в дело пойдут установки, перечисленные в секции Defaults. В противном случае дополнительно будут исполнены указанные в добавочных секциях команды.
Теперь, когда все настроено, соединение можно установить набрав:
Если потребуется запустить wvdial с набором номера в импульсном режиме, то это можно сделать командой
Прервать соединение можно прервав выполнение команды wvdial , т.е. в том же терминале нужно нажать Ctrl + C .
Автоматическое подключение
Отредактируйте файл конфигурации /etc/network/interfaces , например так:
И допишите в него:
Для pppoe , pptp , и модемного подключения без использования wvdial :
Где my-provider - название вашего соединения.
При использовании wvdial :
Теперь при перезапуске сетевых служб соединение будет автоматически установлено.
Ручная настройка роутинга
Если Вы не получаете адрес шлюза по-умолчанию от сервера, к которому подключаетесь, или по какой-либо иной причине Вам необходимо указать маршруты вручную - Вы можете создать свой скрипт в /etc/ppp/ip-up.d/ , либо по рекомендации официальной документации создать /etc/ppp/ip-up.local например так:
со следующим кодом:
Далее - сделайте этот скрипт исполняемым, например так:
Теперь маршруты будут автоматически подключаться при установлении ppp-соединения.
Установка MTU и TTL
MTU (Maximum Transfer Unit) - параметр определяет величину максимальной единицы передачи. Это максимальное количество октетов (байт), которое интерфейс способен поддерживать за одну операцию приема/передачи. Для Ethernet это значение по умолчанию составляет 1500 (максимальный размер пакета Ethernet).TTL (Time To Live) - время жизни ip-пакета в секундах. Нужен чтобы избежать перегрузки сети пакетами. Обычно каждый роутер, через которого прошел пакет, уменьшает TTL на еденицу. Если TTL=0, пакет из системы удаляется. Изначально TTL=128 (для Windows) и TTL=64 (для Ubuntu). Для DNS -записей TTL определяет время актуальности данных при кешировании запросов.
Для изменения величины MTU, отредактируем файл конфигурации /etc/network/interfaces , например так:
Для изменения величины TTL наберите:
Значение TTL меняется только с правами администратора, для выхода из аккаунта администратора введите exitНастройка WiFi
Настройка Wi-Fi при помощи wpa-supplicant и /etc/network/interfaces
В этой главе пойдет речь о настройке подключения к существующей Wi-Fi сети с использованием наиболее безопасного на сегодняшний день стандарта шифрования и аутентификации WPA2. Дополнительно приведены примеры настроек для менее безопасных соединений.
Если Вы можете повлиять на настройку точки доступа, например, в случае, если это Ваш домашний Wi-Fi роутер - постарайтесь настроить авторизацию с использованием WPA2, т.к. это наиболее безопасный протокол аутентификации в беспроводных сетях на настоящий момент.Замечания
Дополнительно к требованиям, указанным выше Вам следует учесть, что:
После установки всех необходимых пакетов, кабель проводной сети лучше отсоединить. Некоторые устройства (или их драйвера, например Madwifi) не поддерживают WPA2 (AES). Если соединение WPA2 установить не удается, можно попробовать WPA1 (TKIP). Если у Вас RTxxx (Ralink) с драйверами Serialmonkey - этот способ Вам не поможет. Вам следует либо установить пакет ndiswrapper , заменяющий Serialmonkey, либо попробовать другой способ.Подготовка
Установите пакеты wpa-supplicant и wireless-tools
Например так:
Теперь убедитесь в том, что Ваше беспроводное устройство (в данном примере это «wlan0») работает и «видит» беспроводные сети. Команда
должна выдать примерно такой результат:
а доступные сети можно посмотреть командой
которая должна выдать примерно такой результат:
Ничего страшного, просто введите команду
соответственно выключить устройство можно командой
Настройка
Редактируем /etc/network/interfaces , например так:
Удаляем (или комментируем) все упоминания нашего беспроводного интерфейса и добавляем свои:
Генерация ключей
Теперь нам нужно сконвертировать нашу ключевую фразу (WPA ASCII ) в hex-ключ:
Результат будет примерно таким:
hex-ключ это все символы после «psk=».
Нужно его скопировать в буфер обмена и вставить в файл /etc/network/interfaces в поле wpa-psk.
Теперь можно сохранить файл и перезагрузить сеть. Должно установиться соединение. Однако иногда этого сразу не происходит. Если это так - перезагружаем машину.
Дополнительно
Отключаем чтение файла /etc/network/interfaces для others во избежания попадания пароля от сети к третьим лицам.
Примеры конфигураций
WPA2 + статический IP, скрытый ESSID.
Другие способы работы Wi-Fi оборудования
При помощи Wi-Fi адаптера также возможно установить децентрализованную сеть ad-hoc или сделать из компьютера под управлением Ubuntu точку доступа. Поскольку описание данных способов Wi-Fi подключения выходит за рамки этого руководства - обратитесь к соответствующим разделам. Ссылки на эти разделы см. в разделе Cсылки .
Решение проблем
Не устанавливается соединение по Wi-Fi/Ethernet с точкой доступа/маршрутизатором
Симптомы: сеть обычно изначально работает нормально, долго или недолго, а затем неожиданно пропадает и не появляется после перезагрузки. Эта проблема может быть непостоянной. Сеть «сама собой» начинает работать, а затем пропадает вновь. При перезапуске адаптера сети таким образом:
будет выводиться в консоль похожий текст
Причиной проблемы может быть то, что материнская плата полностью не обесточивается при выключении компьютера. При этом вероятно не обесточивается и некоторое периферийное оборудование, в т.ч. могут не обесточиваться usb порты. Если вы используете, например, Wi-Fi usb-адаптер, то в таком случае можно заметить горящий на адаптере светодиод (если он им оборудован). Вероятно проблема возникает из-за того, что сетевое оборудование в этом режиме работает не совсем корректно.
Простое решение проблемы состоит в выключении компьютера и выдергивании кабеля питания из розетки с последующим подключением шнура питания и включением компьютера.
Сложное решение проблемы состоит в настройке параметров BIOS-а на полное обесточиваение сетевого оборудования при выключении компьютера.
Иногда наглухо пропадает соединение по Wi-Fi с точкой доступа/маршрутизатором
Симптомы: сеть изначально работает, а затем после перезагрузки точки доступа/маршрутизатора неожиданно пропадает, и не появляется ни после перезагрузки, ни после танцев с бубном. При этом беспроводной адаптер в упор не видит точку доступа (хотя она может стоять рядом с компьютером), но прекрасно видит все соседские сети. Затем после
перезагрузки маршрутизатора сеть сама собой появляется вновь.
Причиной проблемы может быть то, что некоторые маршрутизаторы произвольно выбирают номер рабочего канала, игнорируя номер канала выбранный в настройках маршрутизатора. Если в файле /etc/network/interfaces номер канала для беспроводного интерфейса указан, то вероятно проблема состоит именно в этом. Номер 6 канала указывается в файле примерно так:
Простое решение проблемы состоит в комментировании этого параметра, чтобы адаптер не был ограничен только этим каналом, и перезапуске сети
Сложное решение проблемы состоит в регистрации бага на сайте производителя маршрутизатора (прошивки для него) и обновление прошивки маршрутизатора после (в случае) его исправления.
Перезапуск сети
Теперь, когда все необходимые действия выполнены, можно перезапустить сеть и проверить соединение. Для этого:
Теперь, при запуске команды ip addr должно отобразиться подключение eth0 с выставленными параметрами. Если подключение отображается, но параметры не такие, какие были указаны в файле /etc/network/interfaces , либо возникают любые другие ошибки, перепроверьте этот файл на наличие неточностей и опечаток и попробуйте ещё раз перезапустить сеть.
FAQ по сетям
Как зайти на мой компьютер извне (через интернет)?
Для начала надо узнать, какой IP-адрес даёт провайдер — серый или белый (не путать со статическим/динамическим). Если серый, то ничего не получится. Если белый, то возможны два варианта:
Роутера нет или он работает в режиме бриджа (моста). В этом случае белый IP-адрес присваивается самому компьютеру. Вводим адрес — попадаем на комп, всё просто. Белый адрес присваивается роутеру. Соответственно, по этому адресу мы попадаем на роутер, а не на компьютер. Чтобы попасть на компьютер, на роутере нужно пробросить порты (см. ниже).Мне кажется, у меня слишком медленно работает сеть!
Измерьте скорость сети между двумя компьютера с помощью iperf . Можно воспользоваться этой инструкцией. В ней предлагают скомпиллировать программу из исходников, но можно просто установить её из репозитория. Если iperf покажет значение немного меньшее, чем ожидаемое, то с сетью всё в порядке, проблема может быть в железе (жёсткий диск/процессор не могут обеспечить большую скорость), в способе передачи (например, scp и ftp весьма неторопливы), в настройках (скорость может быть ограничена, например, настройками FTP -сервера) или в чём-то ещё. Если iperf показал величину, которая в разы меньше желаемой, то да - с сетью проблемы. Стоит посмотреть, в нужном ли режиме работает карта (например, с помощью ethtool ), проверить наличие «errors» в выводе ifconfig и протестировать скорость подключения к какому-нибудь третьему компьютеру.
Как узнать, какие программы слушают порты на моём компьютере?
Чтобы посмотреть список открытых портов и названия слушающих их программ, используйте команду:
Для вывода информации о конкретном порте можно использовать grep . Например, для 80 порта:
Из вывода netstat не всегда понятно, о какой программе идёт речь (например, 2671/python), подробнее о процессе расскажет ps :
Как присвоить два IP-адреса одной сетевой карте?
Например, интерфейсу eth0 нужно добавить адрес 192.168.1.1. Кратковременно, до перезапуска сети:
Навсегда — добавить в /etc/network/interfaces следующее:
Как пробросить порт?
Например, нужно пробросить порт 8081. Адрес, на который обращается клиент, назовём внешний_ip, а адрес, на который он должен попасть — внутренний_ip.
Данная статья предназначена вниманию системных администраторов, которые подготавливают типовые рабочие места на компьютерах под управлением ОС Windows 10, в том числе для разработчиков ПО.
Следует отметить, что существует определенная проблема, связанная с невозможностью интеграции ПО, полученного в on-line магазине Microsoft Store для использования в пользовательском образе Windows 10. Не вдаваясь в подробности уточню, что данная проблема связана с тем, что установленные из Microsoft Store программы связываются со служебной учетной записью Administrator, и при завершении создания пользовательского образа утилитой sysprep возникают обусловленные этим обстоятельством ошибки.
Рассмотренный в данной статье способ позволить избежать такой проблемы при подготовке образа ОС Windows 10 с предварительно настроенной подсистемой WSL2, а также с заранее подготовленным и настроенным образом ОС Ubuntu 20.04 с GUI KDE Plasma, который в свою очередь может иметь свой набор пользовательского ПО.
В сети Интернет имеется большое количество примеров и руководств по настройке подсистем WSL (т.е. WSL1 и сравнительно новой WSL2), с настройкой GUI интерфейса для linux систем на базе ОС начиная с версии Ubuntu 16.04 и заканчивая Ubuntu 20.04, но в основном это касалось рабочих столов на основе т.н. «легковесного» xfce4, имеющий вполне объяснимые ограничения в пользовательских настройках. Но что касается GUI KDE Plasma для Ubuntu 20.04, в сети не нашлось какой-либо существенной информации. Но именно этот вариант предоставляет конечному пользователю практически неограниченный набор настроек как внешнего вида системы, так и настроек оборудования, конечно с учетом текущих возможностей интеграции linux-систем, реализованных в подсистеме WSL2.
Установка требуемого набора ПО и настройка WSL2
Проверяем текущую версию Windows, для этого в строке поиска Windows вводим команду winver и получаем примерно следующее:
Важно, чтобы ОС имела версию 1903 или 1909 (указанные версии ОС должны быть с установленным накопительным обновлением KB4566116), либо 2004 (номер сборки не менее чем 19041), остальная информация не имеет значения. Если номер версии меньше, то для корректного повторения результатов, изложенных в данной статье, рекомендуется обновиться до последней версии Windows.
Для удобства дальнейших действий устанавливаем бесплатный Windows Terminal, используя Microsoft Store (также существует возможность загрузки из других источников):
Устанавливаем X Server X410 через тот же Microsoft Store, это ПО платное, но имеется бесплатный период в 15 дней, что вполне достаточно для проведения различных тестов.
В качестве бесплатной альтернативы X410 скачиваем и устанавливаем X-сервер VcXsrv.
В любом удобном месте на диске создаем каталог, в котором будем хранить наши файлы. В качестве примера создадим каталог C:\wsl .
Скачиваем и устанавливаем автономный установщик Ubuntu 20.04, распаковываем полученный файл с помощью архиватора (например 7-zip). Переименовываем распакованный каталог с длинным именем Ubuntu_2004.2020.424.0_x64 во что-то более приемлемое, например Ubuntu-20.04 и копируем его в каталог C:\wsl (далее по тексту просто \wsl ).
Скачиваем и распаковываем в каталог \wsl кроссплатформенный звуковой сервер PulseAudio v.1.1., также вносим исправления в его конфигурационные файлы.
В файле \wsl\pulseaudio-1.1\etc\pulse\default.pa в разделе Load audio drivers statically редактируем строку:
а в разделе Network access редактируем строку:
В файле \wsl\pulseaudio-1.1\etc\pulse\daemon.conf раскомментируем и изменяем строку
Настраиваем подсистему WSL2 в соответствии с документацией Microsoft. Единственное замечание — дистрибутив Ubuntu мы уже скачали, и устанавливать его будем на следующем шаге. В основном, настройка сводится к включению дополнительных компонентов «Подсистема Windows для Linux» и «Платформа виртуальной машины», и последующей перезагрузки для применения изменений в настройках компьютера:
При необходимости скачиваем и устанавливаем пакет обновлений для ядра Linux в WSL2.
Запускаем Windows Terminal и выбираем режим работы Command Prompt нажатием клавиш Ctrl+Shift+2 .
В первую очередь устанавливаем режим работы WSL2, для этого вводим команду:
Переходим в каталог с автономным загрузчиком Ubuntu 20.04, в моем случае это \wsl\Ubuntu-20.04 и запускаем файл ubuntu2004.exe . При появлении запроса имени пользователя указываю имя engineer (можно ввести любое другое имя), ввести свой пароль и подтвердить введенный пароль для указанной учетной записи:
Появилась строка приглашения терминала, ядро Ubuntu 20.04 установлено. Проверим правильность настройки режима WSL2, для этого в Windows Terminal выбираем закладку Windows PowerShell и вводим команду:
результат выполнения должен быть такой:
Настраиваем брандмауэр Microsoft Defender, т.е. отключаем его для общедоступной сети:
Настройка Ubuntu 20.04
В Windows Terminal снова выбираем закладку Command Prompt и устанавливаем обновления для Ubuntu 20.04. Для этого в командной строке вводим:
Устанавливаем рабочий стол KDE Plasma:
установка занимает до 30 минут в зависимости от производительности компьютера и пропускной способности канала доступа в Internet, при появлении запроса установщика подтверждаем OK .
Устанавливаем русскую локализацию и словари Ubuntu 20.04. Для этого в командной строке вводим:
Добавляем последнюю версию рабочего стола KDE Plasma:
Добавляем свой набор консольных приложений, например mc и neofetch :
Проверяем, что получилось, вводим в командную строку neofetch , см. скриншот:
Редактируем конфигурационный файл WSL /etc/wsl.conf :
в открывшееся пустое окно текстового редактора копируем текст:
сохраняем изменения ( Ctrl+O ), подтверждаем операцию и выходим из текстового редактора ( Ctrl+X ).
Экспортируем настроенный образ Ubuntu-20.04 в созданный нами каталог \wsl . Для этого в Windows Terminal снова выбираем закладку Windows PowerShell и вводим команду:
созданный образ поможет нам автоматизировать операции запуска/переустановки настроенной Ubuntu 20.04, при необходимости позволит легко перенести на другой компьютер.
Подготовка bat-файлов и ярлыков на рабочий стол Windows
С помощью редактора Notepad++ создаем bat-файлы (обязательно в кодировке OEM-866 для корректного вывода символов кириллицы):
Файл Install-Ubuntu-20.04-plasma-desktop.bat — предназначен для автоматизации первоначальной установки созданного образа Ubuntu 20.04 на компьютере с уже настроенной подсистемой WSL2 и X-сервером. Если имя пользователя и пароль отличается от указанных в примере, то необходимо внести соответствующие изменения в этот bat-файл:
Файл Reinstall-Ubuntu-20.04-plasma-desktop.bat — предназначен для переустановки подготовленного образа Ubuntu 20.04 на компьютере.
Файл Set-default-user.bat — для установки пользователя «по умолчанию».
Файл Start-Ubuntu-20.04-plasma-desktop.bat — собственно запуск рабочего стола KDE Plasma.
Файл Start-Ubuntu-20.04-terminal.bat — запуск графического терминала без рабочего стола KDE Plasma.
Также для удобства использования в каталоге \wsl подготавливаем ярлыки, указывающие на соответствующие bat-файлы. После чего содержимое каталога \wsl выглядит следующим образом:
Запуск рабочего стола KDE Plasma
Проверяем, что все подготовительные действия выполнены, пробуем запустить ярлык Plasma-desktop . Появляется запрос пароля, вводим пароль для учетной записи и… окно закрывается. В первый раз это нормально. Пробуем еще раз — и видим знакомую панель задач KDE Plasma. Настраиваем требуем внешний вид панели задач, на примере для удобства использования панель переносится в правую часть экрана и центрируется. Проверяем настройки локализации, при необходимости добавляем русский язык:
При необходимости выносим ярлыки для установленных linux-приложений на панель задач KDE Plasma.
Если Ubuntu 20.04 требует выйти из учетной записи пользователя для применения изменений в настройках, или Вам необходимо перезагрузить ОС, для этого в Windows Terminal введите команду:
С помощью ярлыка Plasma-desktop или Konsole можно запустить GUI KDE Plasma Ubuntu 20.04. Например, установим с помощью Konsole графический редактор GIMP:
После окончания установки запускаем из Konsole графический редактор GIMP:
GIMP работает, что и требовалось проверить.
А вот как работают различные linux-приложения в KDE Plasma в WSL2:
настроенная панель задач KDE Plasma находится в правой части экрана. а видео в окне Firefox воспроизводится со звуком.
При необходимости можно настроить доступ к Ubuntu20.04 по SSH и RDP , для этого необходимо установить соответствующие службы командой:
примечание: для включения парольного доступа по SSH необходимо отредактировать файл /etc/ssh/sshd_config , а именно параметр PasswordAuthentication no необходимо установить в значение PasswordAuthentication yes , сохранить изменения и перезагрузить Ubuntu20.04.
При каждом запуске Ubuntu20.04 меняется внутренний ip-адрес, перед настройкой удаленного доступа необходимо уточнить текущий ip-адрес с помощью команды ip a :
Соответственно, этот ip-адрес необходимо внести в настройки сессий SSH и RDP перед запуском.
Вот так выглядит удаленный доступ по SSH с помощью MobaXterm:
А вот так выглядит удаленный доступ по RDP :
Использование X-сервера vcxsrv вместо x410
Запускаем и настраиваем vcxsrv , внимательно устанавливаем соответствующие флажки:
Сохраняем настроенную конфигурацию в каталоге \wsl\vcxsrv со стандартным именем config.xlaunch .
Редактируем bat-файлы Start-Ubuntu-20.04-plasma-desktop.bat и Start-Ubuntu-20.04-terminal.bat в соответствии с имеющимися в них инструкциями.
Запускаем ярлык Plasma-desktop , и вот что получаем:
Рабочий стол KDE Plasma полностью закрывает рабочий стол Windows, для переключения между окнами linux- и windows-приложений используем известную комбинацию клавиш Alt+Tab , что не совсем удобно.
Кроме того, выяснилась неприятная особенность X-сервера vcxsrv – он «падает» при запуске некоторых приложений, в частности того же GIMP или LibreOffice Writer. Возможно следует подождать, когда разработчики уберут замеченные «баги», но это не точно… Так что для получения приемлемых результатов лучше использовать X Server Microsoft x410.
Читайте также: