我正在编写一个使用F1键的控制台应用程序(求助).不幸的是,虽然Konsole(KDE)不使用此密钥,Gnome终端会这样做,因此我的应用程序无法访问F1密钥.我不认为有一种方法可以检测F1键是否已经在事物的GUI端映射(Gnome Terminal),但是如果有,那么答案将消除这个问题.:)
因此,我的下一个最好的选择是尝试检测我是否在Gnome终端内运行.有办法做到这一点吗?我主要感兴趣的是从Ruby中收集它,但如果可以通过shell或环境变量或虚拟文件系统(/ proc,/ dev等)来完成,那么这就足够了.
我希望有一个可靠的方法来做到这一点,但我可以满足于"最好的猜测"方法,比如贪图环境变量以寻找可以让我合理地假设Gnome Terminal是包装终端的线索.
额外信息:其他钥匙也被Gnome Terminal"偷走".我打算为Gnome用户显示一些关于替代密钥的信息性消息.
谷歌已经透露,我可能可以依靠Gnome Terminal将COLORTERM环境变量设置为'gnome-terminal'.