Портал

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Портал » Эмуляторы » XORG+VirtualBox приключения.


XORG+VirtualBox приключения.

Сообщений 1 страница 6 из 6

1

ЭТА ТЕМА ЧЕРНОВИК. поэтому здесь не хватает полноты информации, красоты, понятности.
                Литература
                            https://wiki.archlinux.org/index.php/Sudo_(Русский)
                            Groups (Русский) - ArchWiki
                            https://wiki.archlinux.org/index.php/Allow_users_to_shutdown_(Русский)#Используя_sudo
                            https://wiki.archlinux.org/index.php/D-Bus#Starting_the_user_session
                           
                инструкцию на вики по установке дополнений virtualbox ,
                мануал по virtualbox,
                вики xorg ,
               вики про драйвера xf86,
               man fbdev,
               man vesa.
               раздел про udev здесь на форуме.
всё делал по инструкциям. драйвера, расширения vbox все установлены. группа xorg установлена.
пользователь добавлен в группы video , vboxusers
Может упустил что, я новичок.

                         ПЕРВОЕ - установка программ.
Первым делом по ставьте
sudo, dbus, xorg группу,  xorg-twm, xorg-xclock, xterm
mesa_driver остальные драйвера снесите чтоб не мешали.
                        ВТОРОЕ - создание пользователей и добавление их в нужные группы.
РАЗНИЦА МЕЖДУ .XINITRC, .XSESSION И .XSESSIONRC  цитата откуда-то ---->>Создал .xsession, теперь xdm работает как надо.
мне больше подходит
             https://wiki.archlinux.org/index.php/Xinit  потому что я не хочу графический вход в систему.
             https://wiki.archlinux.org/index.php/Xinitrc_(Русский)  -- эта ссылка не открывается. но такая страница на вики есть.
для теста и при пустом xinitrc в home установи xorg-twm xorg-xclock xterm
теперь можно попробовать запустить startx
если зависнет , то http://goldanvil.clanbb.ru/viewtopic.php?id=346 поможет аккуратно прибить сессию.

                    ТРЕТЬЕ
Конфиги модулей и какие нужны модули пакеты
/etc/modules-load.d/vbox.conf   ---  Гостевых ---  в нем vboxguest vboxsf vboxvideo    столбиком перечислены.
/usr/lib/modules-load.d/virtualbox-guest-dkms.conf   - это для for non-default kernels choose virtualbox-guest-dkms   ----
у меня ядро arch дефолтное. поэтому мне нужны virtualbox-guest-modules-arch
следовательно мне dkms модули vbox не надо грузить . их надо mask через virtualbox-guest-dkms.conf
Здесь написано варианты запуска модулей  на разные события типа бут, логон  и так далее.
https://wiki.archlinux.org/index.php/Autostarting
в моей теме про udev написано как грузить модули. один их вариантов с инета.
мне нужно чтобы они грузились при обнаружении виртуализации.
                 
              ЧЕТВЕРТОЕ
Установили ? Удалили перезагрузите машину.

              ПЯТОЕ -  посмотрим информацию.
lspci -v | grep video отвечает vboxvideo и остальные vbox*
lspci | grep -e VGA отвечает busid PCI 0:2:0. я его и пишу в 20-vbox.conf
lspci | grep -e VGA -e 3D отвечает блабла virtual box adapter бла бла обнаружен.
ls /sys/class/graphics отвечает fb0 fbcon
cat /sys/class/graphics/fb0 ответ vboxvideodrmfb
gmesg | grep video ответ fb0 vboxvideodrmfb

odules.

xorg при старте не находит vboxvideo, хоть куда вставь. То есть
на modprobe , whereis, VBoxClient-all ---полнаятишина.
в логе иксорг пишет - не существует vboxvideo, vboxvideodrmfb.

при старте ОС вначале пишет что не может загрузить модули кернел.
systemctl --failed
systemd-modules-load.service    -  этот юнит не существует.

Может достаточно $path дописать ? /usr/lib/virtualbox/ и /sys/module/vboxvideo/drivers/ , /usr/lib/xorg/modules/dri ?? хотя про это нигде не сказано вообще-то.

я их по совету на форуме этом прописал в модпроб.д, но после обновления vbox расширений там сейчас пусто.  /etc/modprobe.d/    и usr/lib/modprobe.d/
оно в принципе нахрен не надо. или надо ?

сам модуль я нашел руками.
в /usr/lib/xorg/modules/dri лежит ссылка @vboxvideo_dri.so на /usr/lib/VBoxOGL.so
в /sys/module/vboxvideo/drivers/ лежит ~pci:vboxvideo
куча модулей VBox*.so лежит в /usr/lib/virtualbox/ и там есть VBoxSVGA3D.so и другие интересные. К сожалению меня не хватило найти как их можно использовать.

если в секции DRIVER написать vesa , потом в лог пишет --> не тот экран.
а если написать vboxvideo или vboxvideodrmfb, то в лог пишет connection refused
если fbdev --> тогда оно воще виснет намертво и потом в логе вижу device busy

В инете нашел, что это polkit гадит (  https://losst.ru/oshibka-cannot-open-di … 1_PlicyKit  ). всмысле нужно каждому приложению разрешать подключение к иксам
или
В инете сказано . Взято там https://losst.ru/oshibka-cannot-open-display-linux  п 4
прописывание в ./profile (в конец файла) строчки
xhost +SI:localuser:root - решает.
Вот так
vi ~/.xinitrc

#!/bin/bash
xhost +SI:localuser:root &

Дополнительные проги
xrandr отвечает cant open display
autorandr -  Auto-detect connected display hardware and load appropiate X11 setup using xrandr- инструкции там английские

RU-RU= Пожалуйста подскажите. У меня host windows , guest archLinux with default kernel and systemd. VM VirtualBox Extension Pack были установлены из репозитория archlinux для default kernel. xorg не находит модули virtualbox.
en_EN = please help. host windows , guest archLinux with systemd and default kernel. VM VirtualBox Extension Pack are installed from archlinux repository for defaul kernel  inside a guest archlinux. xorg cant find the virtualbox m

Отредактировано КланЛидер (Вт, 3 Дек 2019 06:45:21)

0

2

1. Посмотреть на что ругается.
    $ egrep '(\(WW\)|\(EE\))' /var/log/Xorg.0.log
    у меня на acpid ругалось. оказалось не установлен. блин нигде нет что он нужен. установил.
     если c acpid порядок , переход к 6, иначе разбираемся дальше .
2. Проверить наличие acpid---------pacman -Qi acpid--- если нету поставить pacman -Syyuu acpid
3. Проверить наличие демона acpid в /etc/rc.conf   или systemctl status acpid.service
4. запуск acpid  systemctl start acpid.service  затем systemctl enable acpid.service
5. повтор 1
6. переход к сообщению 3, затем тут п7
7. systemd-logind - логин интеграшн требует --keeptty опцию . ая её забыл написать.
8. у меня мышь неверно настроена. http://goldanvil.clanbb.ru/viewtopic.php?id=363 потом обратно сюда.

Отредактировано КланЛидер (Вт, 3 Дек 2019 08:51:34)

0

3

если есть ругань на отсутствующие модули или шрифты, то нужно добавить секцию в /etc/X11/xorg.conf.d/20-vbox.conf  проверив и поправив пути на актуальные.
В каких унитах прописаны вот эти пути ?
ТАК БЫЛО СГЕНЕРЕНО СИСТЕМОЙ.
Некоторые пути лишние(отсутствуют реально), какие-то не упомянуты, хотя в реале присутствуют
Section "Files"
ModulePath   "/usr/lib/xorg/modules"
FontPath     "/usr/share/fonts/misc/"
FontPath     "/usr/share/fonts/TTF/"
FontPath     "/usr/share/fonts/OTF/"
FontPath     "/usr/share/fonts/Type1/"
FontPath     "/usr/share/fonts/100dpi/"
FontPath     "/usr/share/fonts/75dpi/"
EndSection

Проверил. Исправил на актуальное
Section "Files"
ModulePath "/usr/lib/xorg/modules"
ModulePath "/usr/lib/xorg/modules/dri"
ModulePath "/usr/lib/virtualbox/"
ModulePath "/sys/module/vboxvideo/drivers"
FontPath "/usr/share/fonts/misc/"
FontPath "/usr/share/fonts/TTF/"
FontPath "/usr/share/fonts/adobe-source-code-pro/"
FontPath "/usr/share/fonts/cantarell/"
FontPath "/usr/share/fonts/cyrillic/"
FontPath "/usr/share/fonts/liberation/"
FontPath "/usr/share/fonts/100dpi/"
FontPath "/usr/share/fonts/75dpi/"
EndSection

systemd-path  - чудесная вещь. показывает все пути $path и в выхлопе этих всех путей , упомянутых выше вообще нет.

Сообщим Иксам путь к этим шрифтам (плюс, хорошо бы прописать эту команду в ~/.xinitrc):
$ xset +fp /usr/share/fonts/local/....

есть сгенеренная  x org секция. ее нужно править к такому виду
Section "Screen"
    Identifier "Screen0"
    Device     "Device0"
    Monitor    "Monitor0"
    DefaultDepth 24
SubSection "Display"
        Viewport   0 0
        Depth     24
        Modes    "1280x1024" "1280x960" "1280x768" "1280x720" "1152x864" #один из этих размеров для квадратного монитора.
    EndSubSection
EndSection

после установки дополнений гостевой системы нужен запуск /usr/bin/VBoxClient-all (как минимум VBoxClient -display).
Можно :
положить исполняемый скрипт в смотри выше сообщение 1 - РАЗНИЦА МЕЖДУ .XINITRC, .XSESSION И .XSESSIONRC
запускать автоматом при обнаружении виртуализации вот так.

Для работы 3D-ускорения в гостевой Linux возможно потребуется доделать за установщиком дополнений. мне это не нужно. уже есть такая.
# ln -s /usr/lib/VBoxOGL.so /usr/lib/xorg/modules/dri/vboxvideo_dri.so

Отредактировано КланЛидер (Вт, 3 Дек 2019 06:52:34)

0

4

попробуйте изменить Ваш /home/ваш_пользователь/.xinitrc

сначала скопируй дефолтный из etc/x11 и отредактируй как написано в wiki wiki.archlinux.org/index.php/Xinitrc_(Русский)

содержимое нужно поправить под свой случай

# exec gnome-session
# dbus-launch gnome-session
# exec startkde
# exec startxfce4

--
should display the name of the currently used window manager.
systemctl status display-manager
echo $DESKTOP_SESSION
wmcrt -m

Which gets the id of the window created by the window manager. The specs says (http://standards.freedesktop.org/wm-spec/1.3/ar01s03.html):
xprop -root _NET_SUPPORTING_WM_CHECK | cut -d\# -f2
0x1000052
xprop -id 0x1000052 WM_NAME
WM_NAME(STRING) = "xfwm4"

0

5

https://archlinux.org.ru/forum/topic/14181/?page=2
С версии 1.16 иксы запускаются без root-привилегий при наличии DRM/KMS-драйверов. Попробуйте запустить иксы по старинке, от рута:
$ cat /etc/X11/Xwrapper.config
allowed_users=anybody
needs_root_rights=yes

Взято отсюда:
https://bbs.archlinux.org/viewtopic.php?pid=1456369#p1456369

Еще одно решение:
https://bugs.archlinux.org/task/41398#comment125910
----------------1-----------------
I changed my X startup script from

exec xinit /home/rick/.rwm -- :0 -ac -retro

to:

if [ -z "$XDG_VTNR" ]; then
exec xinit /home/rick/.rwm -- :0 -ac -retro
else
exec xinit /home/rick/.rwm -- :0 -ac -retro vt$XDG_VTNR
fi

(which I copied from /etc/X11/xinit/xserverrc )

and now it works fine.
---------2----------------
cat .xstartupscript
if [ -z "$XDG_VTNR" ]; then
exec xinit /usr/bin/lxsession -- :0 -ac -retro
else
exec xinit /usr/bin/lxsession -- :0 -ac -retro vt$XDG_VTNR
fi

0

6

Что такое Dbus | Losst
losst.ru›chto-takoe-dbus
Что такое Dbus? Dbus или Desktop Bus - это система, которая используется в основном в операционной системе Linux для того, чтобы различные приложения и сервисы могли общаться между собой. Но с помощью Dbus могут взаимодействовать не только приложения, но и пользователи с приложениями. По сути, DBus состоит из управляющего демона, API для языков программирования, с помощью которых приложения могут взаимодействовать с системой и консольного клиента. Каждое приложение, которое хочет работать с DBus, должно зарегистрировать свой сервис в демоне DBus. Поскольку все приложения и сервисы могут беспре...

0


Вы здесь » Портал » Эмуляторы » XORG+VirtualBox приключения.