Общий вопрос : Как я могу наиболее точно имитировать через терминал способ, которым Unity выполняет программу?
Я могу успешно запустить pidgin (2.10.3) из интерфейс Unity (Ubuntu 12.04 LTS), но когда я просто запускаю 'pidgin' из командной строки, я получаю ошибку сегмента. В идеале я хотел бы запустить 'pidgin' из командной строки с флагом '-d' (debug), чтобы увидеть выходные данные отладки. Я подумал, что, возможно, Unity использует некоторые специальные флаги и т. Д., Но стандартный файл /usr/share/applications/pidgin.desktop просто гласит:
blockquote>[Desktop Entry] Name=Pidgin Internet Messenger GenericName=Internet Messenger Comment=Chat over IM. Supports AIM, Google Talk, Jabber/XMPP, MSN, Yahoo and more Exec=pidgin Icon=pidgin StartupNotify=true Terminal=false Type=Application Categories=Network;InstantMessaging; X-Ubuntu-Gettext-Domain=pidgin
текст Segfault :
blockquote>** (Pidgin:12897): WARNING **: Could not connect: Connection refused (Pidgin:12897): LIBDBUSMENU-GLIB-WARNING **: Unable to get session bus: Could not connect: Connection refused (Pidgin:12897): libnotify-WARNING **: Failed to connect to proxy (Pidgin:12897): libindicate-ERROR **: Unable to get session bus: Could not connect: Connection refused Trace/breakpoint trap (core dumped)
Сравните переменные среды в терминале (env
) и запустив скрипт через ярлык на рабочем столе.
Скрипт
#!/bin/sh
env > ~/myenv
Проверьте, отличается ли значение DBUS_SESSION_BUS_ADDRESS, потому что, похоже, это проблема.