Можно получить эту информацию только от vSphere Клиента..:\(но fixme, если существует путь.. Я просто спросил многих людей, и заключение было этим..)
p.s.: возможно:
vmware-toolbox-cmd
может сделать это, но я не вижу его на серверах:
http://www.virtuallyghetto.com/2011/01/how-to-extract-host-information-from.html
где делает его информацию vmware-toolbox-cmd get? нет ли никакие альтернативы для него?
При становлении другим пользователем Вы обычно хотите использовать su - user2
. Тире вызовет user2 .bash_profile
быть полученным.
Дополнительно необходимо будет предоставить пользовательский доступ к дисплею. Этим управляют X. Можно использовать команду xhost +
позволить другому пользовательскому разрешению отобразить GUI на рабочий стол user1.
Примечание: При выполнении xhost +
Вы захотите выполнить это, в то время как все еще в оболочке, которая принадлежит user1.
Когда Вы становитесь user2, Вы, возможно, должны установить переменную среды $DISPLAY
.
$ export DISPLAY=:0.0
]Вы можете попробовать команду sux:[
] [sux user2
]
[]sux обработает $DISPLAY для вас. Вам может понадобиться установить его с:[
] [sudo apt-get install sux
]
[]в Debian/Ubuntu.[
]. Вам необходимо поделиться токеном аутентификации от user1 (предполагается, что ~
является домом для user1 ):
cat ~/.Xauthority | sudo -u user2 -i tee .Xauthority > /dev/null
В качестве альтернативы sux
для безопасного запуска графической команды(firefox-esr
в примере ниже )как$AUTHUSER
(guest
в примере ниже):
AUTHUSER=guest
AUTHSTRING=SI:localuser:${AUTHUSER}
xhost +${AUTHSTRING} > /dev/null
SUDO_ASKPASS=/usr/bin/ssh-askpass
export SUDO_ASKPASS
sudo -k --askpass -u ${AUTHUSER} /usr/bin/firefox-esr
xhost -${AUTHSTRING} > /dev/null
sudo -K
код делает:
guest
доступ к вашему текущему пользователю $DISPLAY
черезxhost +SI:localuser:guest
ssh-askpass
для графического запроса пароля (, конечно, вы можете использовать sudoers(5)
NOPASSWD:
, чтобы избежать этого, если ваша политика безопасности считает, что это нормально. Или вы можете использовать другие askpass
программы или указать их в конфигурационных файлах (см. sudo(8)
для получения подробной информации о--askpass
)sudoers(5)
)он запускает команду /usr/bin/firefox-esr
как другой пользователь(guest
)guest
)на доступ к вашему $DISPLAY
отменяются черезxhost -SI:localuser:guest
наконец, sudo -K
удаляет кешированный пароль, поэтому при следующем вызове ssh-askpass
вам снова будет предложено ввести пароль (вместо использования кешированного пароля)
хотя это немного больше работы, чем то, что сделали gksu(8)
или sux(8)
, это можно написать в сценарии, и это гораздо более безопасно, чем:
xhost +
(Любой пользователь будет иметь доступ к вашему графическому дисплею, пока он действует)gksu
/ sux
сделали (временная копия ~/.Xauthority
,что позволило указанному пользователю скопировать ваш MIT-MAGIC-COOKIE-1
и продолжать использовать ваш дисплей даже после завершения работы gksu/sux (до тех пор, пока вы не выключили машину или не вышли из дисплея -заставки, режим гибернации и т. д. не изменили волшебный файл cookie ). поскольку это позволит только одному локальному пользователю получить доступ к вашему дисплею, а затем только до тех пор, пока выполняется команда (после завершения команды, $AUTHUSER
больше не сможет получить доступ к вашему дисплею каким-либо образом ).
Другая безопасная альтернатива —ssh -X
(без -Y
, что на самом деле делает вас менее безопасным! см. ForwardX11Trusted
в ssh_config(5)
для подробностей ), так как его проще использовать, если вы не пишете его в сценарии, но это вызывает дополнительные накладные расходы (, например. он медленнее )и некоторые программы могут работать некорректно без unsafe-Y
.
Вам необходимо загрузить интерфейс установки как user2 .
Попробуйте следовать этому:
Войти как root:
sudo su
Проверка x-сервера:
xclock
Если вы видите, что часы работают, это хорошо, теперь попробуйте запустить это:
xhost
Результат должен быть таким:
xhost SI:localuser:tri
# tri is my user name
Теперь дайте user2 доступ к xhost
xhost +SI:localuser:user2
теперь попробуйте снова войти в систему user2 и попробуйте открыть любую программу с графическим интерфейсом.
Вы можете использовать pkexec
, изman pkexec
:
DESCRIPTION
pkexec allows an authorized user to execute PROGRAM as another user. If username is not specified, then the program will be executed as the administrative super user, root.
Сначала вам нужно дать этому пользователю разрешение xhost
на использование графического интерфейса.
Чтобы добавить пользователя на постоянной основе, вы можете добавить следующую команду xhost
в/etc/bash.bashrc
(для всей системы )или локально в ~/.bashrc
. На дебиане.
Вы можете использовать этот скрипт для запуска leafpad от имени пользователя2:
#!/bin/sh
xhost SI:localuser:user2
pkexec --user user2 env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY leafpad
Большинство представленных здесь решений не интегрируются с Wayland и PulseAudio.
Я написалego
(Alter Ego ), который автоматически обрабатывает xhost
и совместное использование сокетов Wayland и PulseAudio :https://github.com/intgr/ego
Итак, вы просто запускаете ego leafpad
илиego -u user2 leafpad
Если у вас возникнут проблемы, создайте проблему на GitHub. Я, возможно, единственный его пользователь, поэтому он еще не прошел много испытаний.
xhost +user2
все еще дает мне эту ошибку -xhost: bad hostname "user2"
. Я погуглил некоторых, и кажется, что я должен сделатьxhost +user2@laptop
илиxhost +user2@localhost
, не уверенный, который. Затем это говоритxhost +user2@localhost being added to access control list
. – sashoalm 11.01.2014, 12:10xhost
, и определениеexport DISPLAY=:0.0
, выполнениеleafpad
все еще дает мнеNo protocol specified leafpad: Cannot open display:
, и сбои для выполнения. Я нашел эту ссылку в linuxquestions.org/questions/linux-newbie-8 / …, который говорит, что существуют некоторые волшебные cookie иxauth
. Вы протестировали это те вещи работа над Вашим компьютером btw? Возможно, что-то отличается с моей конфигурацией? Я нахожусь на Debian+LXDE. – sashoalm 11.01.2014, 12:15xhost +
работы, и ничто иное, кажется, не необходимо (никакая потребность установить$DISPLAY
). Можно ли обновить ответ, и я приму его? – sashoalm 12.01.2014, 00:27xhost
дает список в форматеSI:localuser:USERNAME
, такxhost SI:localuser:user2
должен работать. О, и дисплей пользователя может быть найден с помощьюw
. – Wilf 21.04.2015, 14:01xhost +
позволит любому пользователю на любом хосте, который может соединиться с Вашим X-сервером для доступа к экрану.xhost +SI:localuser:user2
работы для меня на Debian. – robartsd 17.03.2017, 06:46