首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从zsh开始x?

如何从zsh开始x?
EN

Unix & Linux用户
提问于 2019-10-17 13:25:26
回答 2查看 3.7K关注 0票数 0

我希望zsh在第一次登录时自动启动x。

在我加入之后

代码语言:javascript
复制
if systemctl -q is-active graphical.target && [[ ! $DISPLAY && $XDG_VTNR -eq 1 ]]; then
  exec startx
fi 

文件~/.zprofile。但是,在xinit启动i3之前,我需要登录两次。

顺便说一下,我用的是拱门

我的.xinitrc看起来就像

代码语言:javascript
复制
#!/bin/sh
userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/etc/X11/xinit/.Xresources
sysmodmap=/etc/X11/xinit/.Xmodmap

# merge in defaults and keymaps

if [ -f $sysresources ]; then
    xrdb -merge $sysresources
fi

if [ -f $sysmodmap ]; then
    xmodmap $sysmodmap
fi

if [ -f "$userresources" ]; then
    xrdb -merge "$userresources"
fi

if [ -f "$usermodmap" ]; then
    xmodmap "$usermodmap"
fi

# start some nice programs

if [ -d /etc/X11/xinit/xinitrc.d ] ; then
    for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
        [ -x "$f" ] && . "$f"
    done
    unset f
fi

twm &
xclock -geometry 50x50-1+1 &
xterm -geometry 80x50+494+51 &
xterm -geometry 80x20+494-0 &
# exec xterm -geometry 80x66+0+0 -name login
xrandr --output DP-3 --same-as LVDS-1 
exec i3
EN

回答 2

Unix & Linux用户

发布于 2022-08-10 09:26:53

响应非常晚,但只是偶然发现了同样的问题,并想为我的用例提供一个快速的解决方案,我怀疑它与OP的一样。不过,为了澄清一下,这是为了在使用"text模式“登录之后立即启动Xorg。因此,没有像gdm或lightdm这样的显示管理器。

您只需要将这些行添加到.zshrc的末尾:

代码语言:javascript
复制
if [[ -z $DISPLAY ]] && [[ $(tty) = /dev/tty1 ]]; then 
  exec startx &>/dev/null 
fi

本质上,所有这些都是运行Xorg (没有所有恼人的输出.)如果它还没有启动,如果您在tty1上。后者是为了防止Xorg在启动时失败,您需要更改一些配置文件(在我看来非常有用)。

希望这能有所帮助。

注意:您可以在bash中使用相同的代码。

票数 2
EN

Unix & Linux用户

发布于 2019-10-17 14:42:39

我稍微修改了一下,希望保持Q的精神:

如何通过shell命令启动X?如何在系统启动时完成?

我忽略了您的系统and和大部分的.xinitrc。

最基本的用户命令是xinit。很难说它到底做了什么。它有一个特殊的语义和语法。回答问题:

xinit fvwm确实启动了x服务器。

它默认为xinit fvwm -- X :0,这意味着:

用窗口管理器fvwm初始化显示"0“的X服务器"X”

它必须如此复杂,因为它是强大的。X服务器和窗口管理器将TTY转换为所谓的显示。

如果您只使用xinit,您将得到一个特殊的xclock专用环境。(当然,没有任何“隐藏”默认值。见人心。也是曼·施塔克斯。(比较!)

当然,您需要配置xorg.conf!(gpu卡,x输入装置)

当然,您需要一个窗口管理器,(最低限度)配置!( twm,twm,.)

要通过xinit自动启动X,需要与systemd和您的发行版进行一些规划和协商。超出了范围但只是暂时的。

“在第一个登录时启动x”需要(非常多)更精确;如果它意味着让xtty1上运行,我至少可以理解它的含义。我看不出与像zsh这样的shell有多大的联系。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

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

复制
相关文章

相似问题

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