首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >脚本/etc/profile.d/没有在X登录(debian)上运行

脚本/etc/profile.d/没有在X登录(debian)上运行
EN

Unix & Linux用户
提问于 2023-05-03 21:30:32
回答 1查看 30关注 0票数 1

以下脚本:

代码语言:javascript
复制
name='ILITEK ILITEK-TP'
echo 'running touchscreens' | systemd-cat
ids=$(xinput --list |awk -Fid= "/$name/"'{print $2+0}')
echo 'after xinput' | systemd-cat
for id in $ids
do event=$(xinput list-props "$id" | awk -F'"' '/Device Node/{print $2}')
   path=$(udevadm info "$event" |
          awk -F/ '/DEVPATH=/{printf "%s \n",$7}')
   if [[ "$path" == *"1-5"* ]]; then
      screen='HDMI-2'
      #echo "$id $path $screen"
      xinput map-to-output $id $screen
   elif [[ "$path" == *"1-6"* ]]; then
      screen='HDMI-3'
      #echo "$id $path $screen"
      xinput map-to-output $id $screen
   fi
done

如果由用户执行,工作非常好。但是,它不是以X会话用户的身份在登录时运行的,尽管它位于/etc/profile.d/中,并且以.sh结尾。另一方面,如果我通过SSH登录,则会运行它,但这与我希望它运行的时间完全相反。

这一定意味着,当X会话登录时,可能根本没有调用/etc/profile?我怎么能让它运行呢?我的橱窗经理是肉桂。

更新:我将脚本移到了/etc/X11/Xsession.d/,现在它运行起来还为时过早,因为xinput map-to-output还没有正确工作,或者在脚本执行后被覆盖。

更新2:在~/..bashrc中放置脚本可以工作,但是只有在启动终端之后才能工作。这让我发疯了

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2023-05-04 17:55:28

在debian系统上,创建一个自定义.xsession文件,并将其放在用户登录的主目录中,然后是自定义X命令,然后是exec {yourwindowmanager}

应要求编辑,即

代码语言:javascript
复制
xinput map-to-output 12 HDMI-1
exec gnome-session
票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

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

复制
相关文章

相似问题

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