Кажется, что это диалоговое окно было буквально разработано, чтобы быть необходимым злом. Специалист по обслуживанию считал диалоговое окно необходимым, потому что "оно покрывает нас по закону". Я не вижу упоминание о точно, какой риск должен быть покрыт, но я предполагаю, что это - присвоение ответственности за любые плохие последствия добавления репозитория.
Диалоговое окно является злым в этом, в тех ранних обсуждениях был уже поднят каждый известный недостаток, о котором я могу теперь думать, включая тех, которые в вопросе выше. Диалоговое окно, как было всегда известно, было информационно несоответствующим. Например, мнение было высказано это, цифровой отпечаток GPG составляет 160 битов, не 32 (спасибо также к nealmcb для того, чтобы сначала обратить мое внимание на эту точку). Если я понимаю правильно, задача предоставления достаточной информации для информированного выбора доверяемых хранилищ казалась безнадежной из-за наблюдаемого неупотребления сети GPG доверия, на основание которого базовые технологии для репозиториев подразумевают устанавливать идентификационные данные репозитория.
Вот обходное решение. То, когда "подпись программного обеспечения требуется" диалоговое окно, появляется, всегда говорите "нет". Затем инициируйте установку с помощью программы установки командной строки вместо этого, такой как конфетка, об/мин, склонный, или dpkg.
Я полагаю, что специалист по обслуживанию программного обеспечения будет едва обижаться на эти наблюдения, потому что он принял подобные комментарии прежде без обижания.
Я думаю, что попытаюсь сделать конструктивный вклад в Bugzilla.
Необходимо будет создать X самостоятельно. Начните путем чтения этой записи Wiki X.Org.
Это руководство для разработчиков, которые хотят создать X-оконную систему из источника. Если Ваша сфера интересов ограничена единственным пакетом, как драйвер или приложение, сверьтесь со своим O/S сначала для средств разработки.
Что касается диспетчера пакетов, необходимо будет выбрать один, удовлетворить все необходимые зависимости и затем материал пакета для него (просто, потому что Вы выбрали dpkg/rpm/whatever, не означает, что deb/RPM/... пакеты будет волшебно работать с Вашим дистрибутивом). Pacman, от Дуги Linux, выглядит достаточно легким создать.
Ubuntu 16.04 host, Buildroot 2017.02
Текущий Buildroot имеет пакет X11, который делает вещи "легкими" для нас: https://github.com/buildroot/buildroot/tree/2016.05/package/x11r7
Это репо собирает всю систему для вас одной командой: https://github.com/cirosantilli/linux-kernel-module-cheat/tree/b134f3958884ce1fce2dd9d31d19ab0c0fbe9089#x11
Alternatively, here is a pre-parared .config
file: https://github.com/cirosantilli/buildroot-configs/blob/44b45b5c7f68e44abcda360a2b980f8301901a9a/qemu_x86_64_x11_defconfig
Это минимальные конфигурации для X11, с которыми я смог справиться:
BR2_PACKAGE_XAPP_TWM=y
BR2_PACKAGE_XAPP_XCALC=y
BR2_PACKAGE_XAPP_XCLOCK=y
BR2_PACKAGE_XAPP_XEYES=y
BR2_PACKAGE_XAPP_XINIT=y
BR2_PACKAGE_XDRIVER_XF86_INPUT_KEYBOARD=y
BR2_PACKAGE_XDRIVER_XF86_INPUT_MOUSE=y
BR2_PACKAGE_XDRIVER_XF86_VIDEO_CIRRUS=y
BR2_PACKAGE_XDRIVER_XF86_VIDEO_FBDEV=y
BR2_PACKAGE_XDRIVER_XF86_VIDEO_VESA=y
BR2_PACKAGE_XORG7=y
BR2_PACKAGE_XSERVER_XORG_SERVER=y
BR2_PACKAGE_XTERM=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_TOOLCHAIN_BUILDROOT_WCHAR=y
BR2_USE_WCHAR=y
Вот как вы можете добавить эти опции в существующий .config
: Возможно ли использовать фрагменты конфигурации с .config Buildroot? | Stack Overflow
Как я обнаружил эти опции: make menuconfig
, поиск имен опций с помощью /
, затем работа в обратном направлении dependes
от xeyes
.
К сожалению, вам все еще нужно знать, что вы делаете, в основном из-за ситуаций, когда два разных пакета реализуют интерфейс (например, X.Org Modular против KDrive, оба из которых реализуют сервер X11), и ни один не выбран по умолчанию.
Эта статья очень помогла: Building a tiny X.Org Linux System using Buildroot | agentoss.wordpress.com
Потом как обычно:
make BR2_JLEVEL=$(nproc)
qemu-system-x86_64 \
-enable-kvm \
-M pc \
-m 512 \
-kernel output/images/bzImage \
-drive file=output/images/rootfs.ext2,if=virtio,format=raw \
-append root=/dev/vda \
-net nic,model=virtio \
-net user
И изнутри QEMU:
root
startx
Размер образа: 28M.
Итог
Архаичная система X11!
И ведет она себя так же, как на этом видео: https://upload.wikimedia.org/wikipedia/commons/transcoded/5/52/TWM_without_configuration.ogv/TWM_without_configuration.ogv.480p.webm
В частности, этот архаичный оконный менеджер не имеет кнопки закрытия X на панелях меню: вам нужно:
startx
затем передает /etc/X11/xinit/xinitrc
в xinit
, который вызывает его после запуска GUI. По умолчанию xinitrc
содержит:
twm &
xclock -geometry 50x50-1+1 &
xterm -geometry 80x50+494+51 &
xterm -geometry 80x20+494-0 &
exec xterm -geometry 80x66+0+0 -name login
который запускает наш оконный менеджер twm
(попробуйте изменить его на один из других менеджеров, для которых у Buildroot есть пакеты), и программы, которые мы видим на экране. TODO Что это за часть exec xterm
? Почему exec
?
x11vnc
Когда вы переходите от эмулятора к реальному устройству, x11vnc
избавляет вас от покупки дисплея: он открывает экран как окно в вашем хосте и даже может посылать клики мыши на устройство.
Включите пакет x11vnc
в Buildroot и пересоберите.
Чтобы сначала протестировать на QEMU, используйте опции (см. также Как использовать SSH от хоста к гостю с помощью QEMU? | Unix & Linux Stack Exchange ):
-net nic,model=virtio \
-net user,hostfwd=tcp::5901-:5900
затем на гостевом startx
, и запускаем:
x11vnc
И снова на хосте:
sudo apt-get install vinagre
vinagre localhost::5901
Результат:
См. также: Как настроить Raspberry Pi без монитора? | Raspberry Pi Stack Exchange
Дисплейный менеджер (неудачная попытка)
Если вы хотите полностью забыть о терминале, также включите:
X.Org X Window System
: нажмите y
, а затем enter
, чтобы войти в систему
X11R7 Applications
xconsole
(запускается xdm
по умолчанию)xdm
Теперь при запуске QEMU появляется графический экран входа в систему, как в "современных" дистрибутивах:
TODO: cannot login. Имя пользователя root
/ пустой пароль работало для меня в другом тесте с установленными ВСЕМИ пакетами X11. xdm
помещает журналы в /var/log/xdm.log
, и вы можете получить оболочку TTY, чтобы проверить его с помощью: Как я могу ctrl-alt-f# получить TTY в сессии QEMU? | Ask Ubuntu
Цепочка вызовов, запускающая диспетчер отображения:
/init
(предоставляется BusyBox)/etc/inittab
строка ::sysinit:/etc/init. d/rcS
/etc/init.d/rcS
/etc/init.d/S99xdm
/usr/bin/xdm