Sddm не запускается, но теоретически все работает!

Я бы не стал использовать ваш метод из соображений безопасности. Представьте, что вы переделываете свою сеть и вам больше не нужно использовать SNAT. Что случилось бы? Это очевидная часть. Где-то могут скрываться скрытые проблемы.

Насколько это возможно, правила NAT и правила фильтрации должны оставаться независимыми, если нет веской причины не делать этого. Я не уверен, что у тебя есть веская причина. Хорошей причиной может быть обработка NAT-трафика по-разному, а не NAT-трафика (, например,:сервер DNAT передает услугу другому серверу позади, но не позволяет использовать его в качестве маршрутизатора для прямого доступа к серверу/службе. сзади).

Теперь о вашей заметке :просто разделите задачу на несколько шагов.

Это неверное правило:

iptables -A FORWARD -m conntrack --ctstate SNAT ! --ctstate ESTABLISHED,RELATED -j LOG

можно заменить на:

iptables -N subtest
iptables -A FORWARD -m conntrack --ctstate SNAT -j subtest
iptables -A subtest -m conntrack ! --ctstate ESTABLISHED,RELATED -j LOG

или вместо этого с ВОЗВРАТОМ и обратной логикой:

iptables -N speciallog
iptables -A FORWARD -j speciallog
iptables -A speciallog -m conntrack ! --ctstate SNAT -j RETURN
iptables -A speciallog -m conntrack ! --ctstate ESTABLISHED,RELATED -j LOG

или, используя метки (not, если метки используются где-то еще (и не желая возиться с масками )), вместо этого можно добиться того же:

iptables -A FORWARD -m conntrack --ctstate SNAT -j MARK 1
iptables -A FORWARD -m mark --mark 1 -m conntrack ! --ctstate ESTABLISHED,RELATED -j LOG

Для каждого метода можно легко связать дополнительные тесты (путем увеличения отметки для метода отметки ).

1
13.05.2020, 10:32
1 ответ

sddm.serviceзапускается символической ссылкой /etc/systemd/system/display-manager.service(, которая указывает на любой X Display Manager, который вы установили и выбрали для запуска в качестве диспетчера отображения по умолчанию ), который, в свою очередь, вызывается graphical.target.

Если sddmне удается запустить экран входа в систему/сеанс автоматического входа в систему графического интерфейса пользователя, вам следует обратиться к /var/lib/sddm/.local/share/sddm/xorg-session.logи/или /var/log/Xorg.0.logдля получения подсказок.

Возможно, вам не хватает необходимого xserver-xorg-video-*пакета :для Geforce RTX 2070, открытый -исходный код xserver-xorg-video-nouveauпочти справится с этим, но вы можете получить лучшие результаты с не -бесплатнаяxserver-xorg-video-nvidia(версия 418. *или новее ).

Если вы используете xserver-xorg-video-nouveau, вам могут понадобиться файлы прошивки с RTX 2070 -, которые поставляются в комплекте firmware-misc-nonfree.

Если startxработает, возможно, что-то не так с sddmфайлом состояния /var/lib/sddm/state.conf, его файлом конфигурации /etc/sddm.confи/или сценариями по умолчанию, расположенными в /usr/share/sddm/scripts, или их версиями, настраиваемыми системным администратором -в /etc/sddm/.


Основы сеанса sddmDebian 10:(с использованием X11, а не Wayland)

Когда запускается sddm,он запускает X-сервер (/usr/bin/X), запускает скрипт /usr/share/sddm/scripts/Xsetup(, который по умолчанию пуст ), а затем запускает sddm-greeterдля приглашения на вход в систему, если в sddm.confне настроен автоматический вход в систему. Если несколько типов сеансов определены как файлы .desktopв /usr/share/xsessions/, приветствующий также предложит выбор типов сеансов, по умолчанию выбранный пользователем при предыдущем входе в графический интерфейс. На этом этапе выбор типа сеанса только устанавливает переменную среды $STARTUPтак, чтобы она указывала на команду, указанную в файле .desktop.

Запуск фактического пользовательского сеанса происходит через /etc/sddm/Xsession, который запускается как ведение журнала -в пользователе, инициализирует среду оболочки пользователя для сеанса графического интерфейса, а затем выполняет /etc/X11/Xsession, который должен вызываться не только sddm. ] но любым способом запуска X-сессии в Debian, включая startx.

(С Wayland вместо этого сценарий сеанса будет /usr/share/sddm/scripts/wayland-session, и я не знаю, что произойдет после этого.)

/etc/X11/Xsessionпроверит наличие различных файлов конфигурации классического сеанса X. Затем он будет использовать любые сценарии в /etc/X11/Xsession.d, которые, среди прочего, проверят, что команда запуска сеанса, выбранная sddm-greeter, действительно существует, и вернутся к нормальным (сисадмином -регулируемым )значениям по умолчанию. если нет, и, наконец, на самом деле начать его. Для сеанса KDE команда запуска сеанса будет exec /usr/bin/startkde.

Поскольку используется exec, эта команда примет PID процесса оболочки, который выполнялся /etc/X11/Xsession, и все сценарии, полученные им до этого момента. Эта команда будет «стержнем» всего сеанса входа в систему X :, когда этот процесс завершится, sddmбудет считать сеанс завершенным и вызовет завершение всего сеанса входа в систему с графическим интерфейсом :, /usr/share/sddm/scripts/Xstop] будет выполнен скрипт, X-сервер будет сброшен, будет сгенерирован новый файл cookie xauth. Любые оставшиеся процессы из старого сеанса могут получить сигнал HUP в этот момент и обычно умирают.

3
28.04.2021, 23:14

Теги

Похожие вопросы