当xfce会话停止时是否可以运行脚本/命令?如何在xfce会话结束时执行脚本
回答
使用运行原始xfce4-session
的shell脚本和如果xfce4-session
完成的注销脚本来更改/usr/bin/xfce4-session
可执行文件。
# mv /usr/bin/xfce4-session /usr/bin/xfce4-session.orig
新/usr/bin/xfce4-session
文件:
#!/bin/bash
/usr/bin/xfce4-session.orig
echo "my logout script" > /tmp/testfile
不要忘记设置执行权限:
# chmod a+x /usr/bin/xfce4-session
(测试Debian的挤压。)
我验证了回答以上问题,因为它不涉及新的代码编写。 然而,我发现了另一种方式来进行:创建一个X11程序,它将在会话启动时启动:它可以在X会话关闭时执行自定义脚本
注意:缺点是使用的脚本无法连接到X所以这个解决方案可能会根据需要,太晚执行脚本。
启动脚本如何处理会话结束的情况?即它是否必须捕获信号,对X事件做出响应? – djb
当真正的xfce会话结束时,它可以做它想做的事情:你的脚本必须启动它,然后阻塞,直到它终止为止 –
见http://mail.xfce.org/pipermail/xfce/2012-November/031694.html - 在那里,埃里克哈比希特建议创造/usr/local/bin/xfce4-session
一个包装脚本(或先于其中xfce4-session
安装,/usr/bin
在PATH
的目录另一个目录)。这样,您不必更改/usr/bin/X11/xfce4-session
,因此可以独立更新。
#!/bin/bash
# Add your own pre-session logic here
/usr/bin/xfce4-session
# Add your own logout logic here
然后
$ chmod +x /usr/local/bin/xfce4-session
它并不完美(取决于PATH
顺序),但可能会更可口。
(注:我提拔我的评论一个答案)
- 1. 会话结束时运行脚本
- 2. 如何在Magento订单流程结束时执行脚本?
- 3. 如何让脚本在执行结束时自动删除?
- 4. 如何在ssh会话退出时执行脚本?
- 5. 在Apex会话结束时执行代码
- 6. PHP结束脚本执行全自动
- 7. 意外结束执行脚本之后
- 8. 会话如何结束 - session.abandon或超时
- 9. PHP脚本何时结束?
- 10. 当gnome会话结束时停止脚本
- 11. 如何仅在AIX 5.3上以ksh结束整个脚本时执行陷阱?
- 12. 如何在春季结束会话3
- 13. Shell脚本在执行时不会执行任何操作
- 14. 如何在从cygwin运行时结束s Powershell脚本
- 15. Web会话何时开始和结束?
- 16. 如何在会话超时或结束时注销用户
- 17. PHP结束会话?
- 18. 如何使用弹出窗口警告会话结束时间在shiro结束?
- 19. 如何在脚本运行时启用执行脚本?
- 20. 脚本结束
- 21. 并行执行多个PHP脚本,并在结束时被通知
- 22. 使用@predestroy方法在会话结束时执行挂起的指令?
- 23. 在Perl脚本结束之前总是执行一些代码
- 24. F#脚本在执行后立即结束(FSI)
- 25. PHP web服务,在脚本执行结束前发送响应
- 26. Dropbox iOS API - 我如何结束会话?
- 27. 如何检测MVC 4会话结束
- 28. 如何在会话结束时清除集合的内容?
- 29. 如何在注销时结束所有会话
- 30. 如何在浏览器关闭时结束会话
你可以试试这个:http://stackoverflow.com/questions/5033354/run-script-before-bash-exits – maialithar
我看到这个问题也是如此,但它会把我要发布的任何脚本称为“脚本”。 事实上,如果xfce会话是一个脚本,我可以做到这一点,但它是一个编译的程序 –