Вы можете сделать это с помощью dpkg-repack, который может переупаковать установленные приложения обратно в файл .deb. Чтобы установить его:
sudo apt-get install dpkg-repack
Затем, чтобы использовать его, введите
sudo dpkg-repack <packagename(s)>
. Это даст вам файл .deb (или несколько файлов, если вы переупакованы несколько пакетов) в текущий каталог, который затем можно установить на другой компьютер. Обратите внимание, что это не будет создавать резервные копии какой-либо конфигурации или личных пользовательских данных, созданных приложением, вы должны сделать это сами.
Ответ SirCharlo работал для меня. Та же проблема на ubuntu 12.04 (точный панголин). Да, я также использую su (root). Позор, стыд. Такая же проблема запускает emacs.
Проблема заключается в том, что DBUS_SESSION_BUS_ADDRESS сохраняет свое значение, когда вы используете su вместо того, чтобы поднять значение в /root/.dbus/session-bus/
от пользователя dbus-launch:
...
The second common reason for autolaunch is an su to another user, and
display of X applications running as the second user on the display
belonging to the first user. Perhaps the ideal fix in this case would
be to allow the second user to connect to the session bus of the first
user, just as they can connect to the first user's display. However, a
mechanism for that has not been coded.
...
Использовать sudo, suedit, gksu.
Или, если вы ДОЛЖНЫ использовать su, попробуйте добавить его к вашему /root/.bashrc: [ ! d4]
sessionfile=`find "${HOME}/.dbus/session-bus/" -maxdepth 1 -type f`
if [ -f "$sessionfile" ] ; then
if grep -q "^DBUS_SESSION_BUS_ADDRESS=" "${sessionfile}" ; then
export `grep "^DBUS_SESSION_BUS_ADDRESS=" "${sessionfile}"`
else
echo "DBUS_SESSION_BUS_ADDRESS not found in ${sessionfile}"
fi
else
echo "no session address file found in ${HOME}/.dbus/session-bus"
fi
У меня была такая же проблема. В моей системе проблема вызвана тем, что ~/.dbus принадлежит root. Меня изменил вопрос собственности, я решил проблему. Я предлагаю вам также проверить это на вашей системе.
Изменение владельца может быть выполнено с помощью команды chown. Для одного файла:
chown <user>:<group> file
Для каталога и его дочерних элементов:
chown -R <user>:<group> folder
Итак, в этом случае
chown -R <your user>:<your group> ~/.dbus
должно работать .
Попробуйте export $(dbus-launch) Это сработало для меня на Opensuse 12.1 во время работы в качестве виртуальной машины.
Не могли бы вы попробовать?
sessionfile=`find "${HOME}/.dbus/session-bus/" -type f`
export `grep "DBUS_SESSION_BUS_ADDRESS" "${sessionfile}" | sed '/^#/d'`
И повторите попытку ..
gnome-open /home/
У меня также была проблема с dbus и vnc. Поэтому я добавил
eval `dbus-launch`
в ~/.vnx/xstartup. Это начинает сеанс gnome для меня!
Удалено /var/lib/dbus/machine-id, и все было лучше
Вышеупомянутое исправление также исправляет:
(virt-manager:2810): GConf-WARNING **: Client failed to connect to the D-BUS daemon:
Failed to connect to socket /tmp/dbus-vYNPgtHXG7: Connection refused (virt-manager:388): No D-BUS daemon running
Я мог бы запустить virt-manager с помощью команды root@localhost# dbus-launch virt-manager, используя su
Попробуйте export $(dbus-launch)
Это сработало для меня на Opensuse 12.1 во время его запуска в качестве виртуальной машины.
У меня была такая же проблема. В моей системе проблема вызвана тем, что ~/.dbus
принадлежит root. Меня изменил вопрос собственности, я решил проблему. Я предлагаю вам также проверить это на вашей системе.
Изменение владельца может быть выполнено с помощью команды chown
. Для одного файла:
chown <user>:<group> file
Для каталога и его детей:
chown -R <user>:<group> folder
Итак, в этом случае
chown -R <your user>:<your group> ~/.dbus
должен работать .
Не могли бы вы попробовать?
sessionfile=`find "${HOME}/.dbus/session-bus/" -type f`
export `grep "DBUS_SESSION_BUS_ADDRESS" "${sessionfile}" | sed '/^#/d'`
И повторите попытку.
gnome-open /home/