Я пишу консольное приложение, которое использует клавишу F1 (для справки). К сожалению, хотя Konsole (из KDE) не использует этот ключ, Gnome Terminal использует его, поэтому клавиша F1 становится недоступной для моего приложения. Я не думаю, что есть способ определить, назначена ли уже клавиша F1 на стороне GUI (терминал Gnome), но если так, то ответ на этот вопрос устранит этот вопрос. :)
Ergo, мой следующий лучший выбор - попытаться определить, работаю ли я в терминале Gnome. Есть ли способ сделать это? В первую очередь мне интересно узнать это из Ruby, но если это можно сделать с помощью переменных оболочки или среды или виртуальной файловой системы (/ proc, / dev и т. Д.), То этого будет достаточно.
Я надеюсь на надежный способ сделать это, но я могу согласиться с подходами "наилучшего предположения", такими как поиск переменных среды для подсказок, которые позволяют мне разумно предположить, что Gnome Terminal является терминалом обертки.
Дополнительная информация: другие ключи также «украдены» терминалом Gnome. Я намерен показать какое-то информативное сообщение об альтернативных ключах для пользователей Gnome.