您尚未登录。

#1 2018-05-12 18:31:41

renyuneyun
会员
所在地: 河南省新鄉市
注册时间: 2011-09-30
帖子: 123
个人网站

如何阻止程序(不受控?)自啓動?尤pasystray和solaar

其實這是一個老問題了,但直到這兩天忽然覺得討厭,所以想起來詢問解決方案。
不排除這個問題早已有人解答,但由於不知道該用什麼關鍵詞,所以google搜不到答案。

先說背景:使用SDDM啓動KDE,啓動後pasystray和solaar會自動(隨KDE)啓動,駐留在托盤區。

然而經檢查,KDE的systemsetting相關部分、.xprofile、`.config/autostart/`中均沒有發現這兩者的蹤跡,而且systemd的模塊中(無論用戶或系統)也沒有它們。
`ps -ef | grep pasystray`發現其父進程是1號進程,solaar也一樣。所以也沒辦法從進程樹中找到蛛絲馬跡。


所以,請問有什麼方法可以:
1. 禁止這兩者自啓動
2. 尋找所有可能的自啓動來源


現在的一個猜想是dbus信號啓動,類似於networkmanager在特定程序(如firefox)啓動後進行的自啓動。但不知道如何排查。


知識很重要,而相當的運用能力更重要。

离线

#2 2018-05-12 18:35:27

依云
a.k.a. 百合仙子
所在地: 一个等待妹纸出现的地方
注册时间: 2011-08-21
帖子: 4,860
个人网站

Re: 如何阻止程序(不受控?)自啓動?尤pasystray和solaar

2. 可以通过一些手段来找到是谁启动的它。比如基于 bcc 或者 ftrace 的 execsnoop 脚本(bcc 那个在 bcc-tools-git 包里有)。

离线

#3 2018-05-12 19:32:25

xtricman
喵了个咪
注册时间: 2012-12-26
帖子: 526

Re: 如何阻止程序(不受控?)自啓動?尤pasystray和solaar

位置在哪,在用户session里的就必然是kde的锅呗。必要组件不让你关闭之类的

离线

#4 2018-05-12 19:35:44

renyuneyun
会员
所在地: 河南省新鄉市
注册时间: 2011-09-30
帖子: 123
个人网站

Re: 如何阻止程序(不受控?)自啓動?尤pasystray和solaar

依云 说:

2. 可以通过一些手段来找到是谁启动的它。比如基于 bcc 或者 ftrace 的 execsnoop 脚本(bcc 那个在 bcc-tools-git 包里有)。

我有空看看。這倆都不熟Orz


知識很重要,而相當的運用能力更重要。

离线

#5 2018-05-12 19:36:19

renyuneyun
会员
所在地: 河南省新鄉市
注册时间: 2011-09-30
帖子: 123
个人网站

Re: 如何阻止程序(不受控?)自啓動?尤pasystray和solaar

xtricman 说:

位置在哪,在用户session里的就必然是kde的锅呗。必要组件不让你关闭之类的

不是,這倆都不是KDE的組件。

這句裏“用戶session”是什麼意思?systemd的session?我已經排查過了,沒有。
如果是說進程的用戶的話,是我的用戶,但沒有更多信息了。

最近编辑记录 renyuneyun (2018-05-12 19:37:33)


知識很重要,而相當的運用能力更重要。

离线

#6 2018-05-12 19:40:44

xtricman
喵了个咪
注册时间: 2012-12-26
帖子: 526

Re: 如何阻止程序(不受控?)自啓動?尤pasystray和solaar

systemctl status看看

离线

#7 2018-07-10 17:14:43

renyuneyun
会员
所在地: 河南省新鄉市
注册时间: 2011-09-30
帖子: 123
个人网站

Re: 如何阻止程序(不受控?)自啓動?尤pasystray和solaar

依云 说:

2. 可以通过一些手段来找到是谁启动的它。比如基于 bcc 或者 ftrace 的 execsnoop 脚本(bcc 那个在 bcc-tools-git 包里有)。

結果讓我更迷糊了……用bcc的execsnoop發現是1號進程啓動的它們……

pasystray        4696   1        0 /bin/pasystray
solaar           4700   1        0 /bin/solaar

然而systemctl --user status中的確沒有這兩個東西。

systemctl status中能看到session-c7中有它們。


知識很重要,而相當的運用能力更重要。

离线

#8 2018-07-10 17:33:53

依云
a.k.a. 百合仙子
所在地: 一个等待妹纸出现的地方
注册时间: 2011-08-21
帖子: 4,860
个人网站

Re: 如何阻止程序(不受控?)自啓動?尤pasystray和solaar

1 号进程是系统级那个 systemd 啦。但是为什么是 session-c7 呢?……

离线

#9 2018-07-10 17:44:20

renyuneyun
会员
所在地: 河南省新鄉市
注册时间: 2011-09-30
帖子: 123
个人网站

Re: 如何阻止程序(不受控?)自啓動?尤pasystray和solaar

依云 说:

1 号进程是系统级那个 systemd 啦。但是为什么是 session-c7 呢?……

是啊,所以看起來是systemd啓動的,但無論是系統服務還是用戶服務都沒有這倆東西。。。

我也不知道爲什麼是session-c7……可能是因爲我從KDE註銷又重新登入好幾次?……


知識很重要,而相當的運用能力更重要。

离线

#10 2018-07-10 17:55:31

renyuneyun
会员
所在地: 河南省新鄉市
注册时间: 2011-09-30
帖子: 123
个人网站

Re: 如何阻止程序(不受控?)自啓動?尤pasystray和solaar

破案了……
/etc/xdg/autostart中被自動創建了這倆條目(由相關包直接帶的),但kde的systemsettings完全不列出這裏的東西。。。我還以爲那些文件是“模板”……

在其中相應條目中加上Hidden=true之後就不會再自動啓動了……

MDZZ……

但是爲什麼是init進程/systemd啓動的?不應該是X啓動的麼?


知識很重要,而相當的運用能力更重要。

离线

#11 2018-07-10 18:28:26

依云
a.k.a. 百合仙子
所在地: 一个等待妹纸出现的地方
注册时间: 2011-08-21
帖子: 4,860
个人网站

Re: 如何阻止程序(不受控?)自啓動?尤pasystray和solaar

啊,你看代码就知道了,ppid 那一列的获取是不可靠的……(所以还是 sysdig 和 process event connector 更可靠)

离线

#12 2018-07-10 19:07:02

xtricman
喵了个咪
注册时间: 2012-12-26
帖子: 526

Re: 如何阻止程序(不受控?)自啓動?尤pasystray和solaar

/etc/xdg/autostart普通用户应该写不进去的,不会自动创建,应该是某个软件包安装的,pacman -Qo
查一下。
以及system ctl status加不加--user看到的是一样的,区别就是显不显示系统级那些cgroup既然进程在session里,systemctl肯定能看见,无非就是终端有时会糊掉然后某些输出行看不见,重开一个干净的窗口再执行一次或者--no-pager就能看见了。

离线

#13 2018-07-10 19:08:54

xtricman
喵了个咪
注册时间: 2012-12-26
帖子: 526

Re: 如何阻止程序(不受控?)自啓動?尤pasystray和solaar

都在session里了当然不是service

离线

#14 2018-07-10 21:34:49

renyuneyun
会员
所在地: 河南省新鄉市
注册时间: 2011-09-30
帖子: 123
个人网站

Re: 如何阻止程序(不受控?)自啓動?尤pasystray和solaar

xtricman 说:

/etc/xdg/autostart普通用户应该写不进去的,不会自动创建,应该是某个软件包安装的,pacman -Qo
查一下。
以及system ctl status加不加--user看到的是一样的,区别就是显不显示系统级那些cgroup既然进程在session里,systemctl肯定能看见,无非就是终端有时会糊掉然后某些输出行看不见,重开一个干净的窗口再执行一次或者--no-pager就能看见了。

是包自己帶的(見前一回覆)。我的表述有問題。
(當然我仍然不明白爲什麼要自己帶這玩意……坑爹嘛?)

xtricman 说:

都在session里了当然不是service

問題是爲什麼會是1號進程……
我檢查service是因爲按理說systemd只能通過執行service執行長期的任意程序吧?


知識很重要,而相當的運用能力更重要。

离线

#15 2018-07-10 21:37:26

依云
a.k.a. 百合仙子
所在地: 一个等待妹纸出现的地方
注册时间: 2011-08-21
帖子: 4,860
个人网站

Re: 如何阻止程序(不受控?)自啓動?尤pasystray和solaar

renyuneyun 说:

問題是爲什麼會是1號進程……
我檢查service是因爲按理說systemd只能通過執行service執行長期的任意程序吧?

因为 1 号进程是收养者呀。

离线

页脚