Мне удалось заставить это работать с приложением QT, установив переменную среды «ПОЛЬЗОВАТЕЛЬ» и переменную среды «DISPLAY» в сценарии upstart.
# gui - auto launch daemon
description "gui daemon"
start on desktop-session-start
stop on desktop-shutdown
env HOME=/home/user
script
export DISPLAY=:0
mygui
end script
Конечно, это ограниченный пользователь, поэтому не может быть допустимым вариантом для некоторых usecases, но для моего случая он отлично работает.
MTP, к сожалению, проблематичен в Linux. С последним libmtp Galaxy Tab 10.1 правильно распознается, однако вы все равно не сможете надежно передавать файлы.