LINUX.ORG.RU
ФорумAdmin

X2GO Администрирование

 


1

2

Всем Доброго здравия! Попробовал на днях x2go. Шикарная штука, быстро работает. Думаю перейти на него. Сейчас сижу на RX от etersoft. Так вот x2go быстрее работает. Но вот проблема, администрирования практически нет. Вот накидал вариант администрирования, по типу того как это было на nxserver.

#!/bin/bash

echo ""
echo "X2GOSERVER - Version:" `x2goversion x2goserver` 
echo "============================="

if [ "$1" == "--help" ]; then
	echo "age: x2goserver <option>
--start: Start the x2go server
--stop: Stop the x2go server
--status: Show status of nx server
--restart: Restart the nx server. (start,stop)

--list [ user | sessionid ]: List running sessions of user or sessionid 
--terminate <user | :display | sessionid>: Terminate the session pointed to by
       sessionid or display, or all sessions of the specified user.
       Use * for all sessions.
--cleanup: Terminates all running sessions. Useful after power-outage."
fi

if [ "$1" == "--start" ]; then
	cp /etc/ssh/x2go_on_sshd_config /etc/ssh/sshd_config
	#/etc/init.d/ssh restart
	service sshd restart
	`echo "x2goserver runing" > /etc/ssh/x2gostatus` 
	echo "x2goserver runing"
fi

if [ "$1" == "--stop" ]; then
	cp /etc/ssh/x2go_off_sshd_config /etc/ssh/sshd_config
        #/etc/init.d/ssh restart
	service sshd restart
        `echo "x2goserver stoped" > /etc/ssh/x2gostatus` 
        echo "x2goserver stoped"
fi

if [ "$1" == "--restart" ]; then
	/etc/init.d/x2goserver restart
fi

if [ "$1" == "--status" ]; then
	cat /etc/ssh/x2gostatus
fi


if [ "$1" == "--list" ]; then
	echo "Sessions list:"
	echo "Display Username  Remote IP  Connection Time  Session ID"
	echo "................................................................................"
	x2golistsessions_root | awk -F "|" '{print $3"  "$12"  "$8"  "$6"  "$2}'
fi

if [[ "$1" == "--terminate" && -n $2 ]]; then
	mapfile -t sessions <<< `x2golistsessions_root | grep $2 | awk -F "|" '{print $2}'`
	if [ "${sessions}" != "" ]; then
		for line in "${sessions[@]}"; do
                	x2goterminate-session $line
			echo Terminated $line
        	done	
	fi
fi

if [ "$1" == "--cleanup" ]; then
	mapfile -t sessions <<< `x2golistsessions_root | awk -F "|" '{print $2}'`
        if [ "${sessions}" != "" ]; then
                for line in "${sessions[@]}"; do
                        x2goterminate-session $line
                        echo Terminated $line
                done
        fi


fi

if [[ "$1" == "--send" && -n $2 && -n $3 ]]; then
	username=`x2golistsessions_root | grep $2 | awk -F "|" '{print $12}'`
        mapfile -t sessions <<< `x2golistsessions_root | grep $2 | awk -F "|" '{print $3}'`
        if [[ "${username}" != "" && "${sessions}" != "" ]]; then
                for line in "${sessions[@]}"; do
                        #x2goterminate-session $line
		#	/usr/bin/sudo -u ${username} /usr/bin/zenity --display=:${line} --info --text="$3" 
			DISPLAY=:${line} sudo -u ${username} /usr/bin/zenity --warning --title="X2goServer Admin  message" --text="$3" 
                        echo $?
                done
        fi
fi

if [[ "$1" == "--broadcast" && -n $2 ]]; then
        mapfile -t sessions <<< `/usr/sbin/x2golistsessions_root`
        if [[ "${sessions}" != "" ]]; then
                for line in "${sessions[@]}"; do
			#echo $line
			username=`echo ${line} | awk -F "|" '{print $12}'`
			#echo $username
			ses=`echo ${line} | awk -F "|" '{print $3}'`
			#echo $ses
                        #sudo -u ${username} /usr/bin/zenity --display=:${ses} --info --text="$2"&
			DISPLAY=:${ses} sudo -u ${username} /usr/bin/zenity --warning --title="X2goServer Admin message"  --text="$2" && echo $? &
                        #echo Terminated $line
                done
        fi
fi

Смотрите пробуйте, замечания, поправки принимаются.



Последнее исправление: webkuzma (всего исправлений: 1)

Посмотри еще теже systemd unit и поищи на github

pinachet ★★★★★
()

x2go хорошо, когда у тебя два с половиной пользователя и простые задачи. Но если их больше 50, то нагрузка на пул серверов бешенная. Так же в x2go не прокинешь видяху и аппаратное ускорение идет по пи..де.

PXE в этом плане лучше, так как используются ресурсы рабочих станций. Плюс можно отдавть PXE в ридонли или вообще генерировать имидж для каждого сеанса и потом его удалять.

constin ★★★★
()
10 сентября 2021 г.

Доброго времени. А что содержат конфиги /etc/ssh/x2go_on_sshd_config и /etc/ssh/x2go_off_sshd_config?

goosr
()

Всем Доброго здравия!

Доброе здравие!

На будущее: в родительном падеже прощаются, а не здороваются.

Шикарная штука, быстро работает

Согласен. Намного лучше VNC. Но под Wayland не работает (еще один аргумент в пользу X Window System).

Смотрите пробуйте, замечания, поправки принимаются.

Обычный скрипт. Что-то конкретное хотели бы в нем изменить?

Papant
()
Ответ на: комментарий от Minona

оно еще поддерживается?!

До конца 21 года. Потом все.

goosr
()
Ответ на: комментарий от Papant

Доброго времени суток.

На будущее: в родительном падеже прощаются, а не здороваются.

Положите дневничОг на стол и родителей в школу.

Согласен. Намного лучше VNC Намного лучше, чем что? Х2го или

еще один аргумент в пользу X Window System)

Хдцмп который депрекейтед еще в те времена, когда у меня последние прыщи сошли на лице?! Оно лучше.

Вы что опять несете? Вы когда-нибудь деплоили внц? Какие там накладные расходы? Вы в глаза видели х2го? Под 30 машин в 1с по тз - это идеальное решение. Но Вы несете про хдцмп. Может хоть иногда стоит в гугол сходить прежде чем набросить. А в идеале задеплоить и сравнить.

И да, тем кто про видео говорил, как раз х2го с этим порядок, в отличии от хрдп. Таки да. Даже ютубчик не лагает.

Зы. Тс, наброс оценил.

anonymous
()
Ответ на: комментарий от constin

А щито делать если тонкий клиент, например?

anonymous
()
Ответ на: комментарий от anonymous

Вы когда-нибудь деплоили хдцмп

Пофиксил.

Как там с сесурностью и не депрекатед ли?

anonymous
()

x2go хорошая вещь. Но, плохие выходы из сеанса ломает все.

Bootmen ☆☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.