首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Systemd-n生成引导容器,然后自动运行lxsession;如何做到这一点?

Systemd-n生成引导容器,然后自动运行lxsession;如何做到这一点?
EN

Unix & Linux用户
提问于 2019-09-11 19:54:25
回答 1查看 561关注 0票数 1

我正在制作一个脚本,该脚本使用systemd-nsp结识来引导容器中的第二个linux根文件系统。

脚本目前正在使用这一行来引导容器:systemd-nspawn -b --machine virtualdesktop -D "/mnt/virtualdesktop"、主机和容器都是基于Debian并使用systemd的。(准确地说,是Raspbian Buster )

客人正确启动,登录后,给我一个shell。

但这并不是我想要的-脚本也应该加载客户的图形。主机打开一个Xephyr窗口,在:1上运行第二个X显示。然后,来宾将在显示时运行lxsession :1。

通过在来宾的shell:DISPLAY=:1 lxsession -s LXDE-pi -e LXDE中输入这个命令很容易做到这一点,但是我需要帮助:自动运行该命令,而不需要操作符输入来宾的密码并输入lxsession命令。

我试过:

  • 将所需的lxsession命令追加到systemd-nspawn命令的末尾,如:systemd-nspawn -b --machine virtualdesktop -D "/mnt/virtualdesktop" 'DISPLAY=:1 lxsession -s LXDE-pi -e LXDE',但什么也没有发生。
  • 使用systemd-run,如建议的这里。在容器运行时运行以下命令:systemd-run --machine virtualdesktop "/usr/binlxsession -s LXDE-pi -e LXDE",但Xephyr不显示任何内容,日志报告Failed to execute command: No such file or directory Failed at step EXEC spawning /usr/bin/lxsession -s LXDE-pi -e LXDE: No such file or directory
EN

回答 1

Unix & Linux用户

发布于 2019-09-11 22:58:57

从命令中删除引号并使用-E, --setenv选项:

代码语言:javascript
复制
systemd-nspawn --machine virtualdesktop -D "/mnt/virtualdesktop" -E DISPLAY=:1 lxsession -s LXDE-pi -e LXDE

代码语言:javascript
复制
systemd-run --machine virtualdesktop -E DISPLAY=:1 /usr/bin/lxsession -s LXDE-pi -e LXDE

您尝试执行文件'DISPLAY=:1 lxsession -s LXDE-pi -e LXDE''/usr/bin/lxsession -s LXDE-pi -e LXDE'

代码语言:javascript
复制
systemd-run [OPTIONS...] COMMAND [ARGS...]
systemd-nspawn [OPTIONS...] [COMMAND [ARGS...]]
票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/541252

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档