Страница 3 из 4
Re: Ман по установке Commfort 4 Server на Linux
Добавлено: 14:22, 02.06.2012
viktor6
Yaroslav писал(а):Я думаю проблема совсем в другом. А именно:
_XSERVTransMakeAllCOTSServerListeners: server already running
Fatal server error:
Cannot establish any listening sockets - Make sure an X server isn't already running
И как сию проблему решить?
Re: Ман по установке Commfort 4 Server на Linux
Добавлено: 16:27, 03.06.2012
Indeferend
server already running - переводится как сервер(иксы) уже запущен
а вы случайно это не делаете в графической оболочкой в эмуляторе терминала? если да, то понятно что из графики графику не стартануть
Re: Ман по установке Commfort 4 Server на Linux
Добавлено: 01:27, 04.06.2012
viktor6
Indeferend писал(а):server already running - переводится как сервер(иксы) уже запущен
а вы случайно это не делаете в графической оболочкой в эмуляторе терминала? если да, то понятно что из графики графику не стартануть
смотри как у меня это все сделано
Держу комп как сервер на нем есть графика стоит монитор (на всякий случай но на нем не кто не работает)
Я из другого компа захожу через putty и пытаюсь запустить но оно не хочет
Re: Ман по установке Commfort 4 Server на Linux
Добавлено: 12:20, 04.06.2012
Yaroslav
viktor6 писал(а):
Держу комп как сервер на нем есть графика стоит монитор (на всякий случай но на нем не кто не работает)
Я из другого компа захожу через putty и пытаюсь запустить но оно не хочет
Ну так раз графика есть, то скорее всего X стартует вместе с системой. И тогда всё правильно. Оно тебе говорит, что сервере X уже запущен.
Re: Ман по установке Commfort 4 Server на Linux
Добавлено: 00:31, 05.06.2012
viktor6
Yaroslav писал(а):viktor6 писал(а):
Держу комп как сервер на нем есть графика стоит монитор (на всякий случай но на нем не кто не работает)
Я из другого компа захожу через putty и пытаюсь запустить но оно не хочет
Ну так раз графика есть, то скорее всего X стартует вместе с системой. И тогда всё правильно. Оно тебе говорит, что сервере X уже запущен.
Да я то это понимаю я спрашую как это решить?
Re: Ман по установке Commfort 4 Server на Linux
Добавлено: 00:39, 05.06.2012
Yaroslav
viktor6 писал(а):Да я то это понимаю я спрашую как это решить?
Ну убить сначала иксы работающие, наверное.
Re: Ман по установке Commfort 4 Server на Linux
Добавлено: 14:03, 05.06.2012
viktor6
Yaroslav писал(а):viktor6 писал(а):Да я то это понимаю я спрашую как это решить?
Ну убить сначала иксы работающие, наверное.
Зачем убивать работающие иксы?
Re: Ман по установке Commfort 4 Server на Linux
Добавлено: 14:10, 05.06.2012
Yaroslav
viktor6 писал(а):Зачем убивать работающие иксы?
Вариантов, как бы, не так и много. Или запускай в графической оболочке данного компа (не удалённо) под работающими иксами. Или запускай удалённую сессию иксов у себя локально (ssh -X) и тогда окно появится у тебя на компе, а процесс будет работать на удалённом, или убивай иксы и запускай под xvfb, тогда всё будет работать удалённо с «отображением» окна где-то в памяти, а не на экране.
Ведь твоя проблема в том, что не запускается xvfb. Потому, что порт, который он должен слушать, уже занят X сервером. А два процесса не могут одновременно занять один и тот же порт.
Re: Ман по установке Commfort 4 Server на Linux
Добавлено: 16:06, 05.06.2012
viktor6
Спасибо
Yaroslav скрипт заработал
И так пишу как я у себя это все реализовал
создаем скрипт
run.sh
Код: Выделить всё
#!/bin/sh
#Script by Indeferend 2009
#укажите путь до CommFort exe файла
/usr/bin/X11/Xvfb :2 -screen 10 800x600x16 -ac -br -c -fbdir /home/commfort/tmp &
export DISPLAY=:2
/usr/bin/wine /home/commfort/CommFort_server/CommFort_server.exe&
еще один скрипт
is_tcp_port_listening_pl.pl
Код: Выделить всё
#!/usr/bin/perl -w
#
# Author: Ralf Schwarz <ralf@schwarz.ath.cx>
# February 20th 2006
#
# returns 0 if host is listening on specified tcp port
#
use strict;
use Socket;
# set time until connection attempt times out
my $timeout = 3;
if ($#ARGV != 1) {
print "usage: is_tcp_port_listening hostname portnumber\n";
exit 2;
}
my $hostname = $ARGV[0];
my $portnumber = $ARGV[1];
my $host = shift || $hostname;
my $port = shift || $portnumber;
my $proto = getprotobyname('tcp');
my $iaddr = inet_aton($host);
my $paddr = sockaddr_in($port, $iaddr);
socket(SOCKET, PF_INET, SOCK_STREAM, $proto) || die "socket: $!";
eval {
local $SIG{ALRM} = sub { die "timeout" };
alarm($timeout);
connect(SOCKET, $paddr) || error();
alarm(0);
};
if ($@) {
close SOCKET || die "close: $!";
print "$hostname is NOT listening on tcp port $portnumber.\n";
exit 1;
}
else {
close SOCKET || die "close: $!";
print "$hostname is listening on tcp port $portnumber.\n";
exit 0;
}
# END ====================================
создаем скрипт в папке
/usr/local/bin/commfort
Код: Выделить всё
#!/bin/sh
usage (){
cat << EOF
usage:
$0 -h show this message
$0 {restart|stop|start} [-host <127.0.0.1>] [-port <9750>] [-log </home/commfort/logs/commfort.log>] [-bin "su commfort -c /home/commfort/run.sh"]
EOF
}
comf_restart (){
comf_stop
sleep 30
comf_start
}
comf_start (){
cd `dirname $Comf_BIN`
$Comf_BIN
}
comf_stop (){
killall "CommFort_server.exe" > /dev/null
}
comf_check (){
if perl /home/commfort/is_tcp_port_listening_pl.pl $Comf_HOST $Comf_PORT > /dev/null 2>&1
then
echo "online" > /dev/null
else
echo `date` не отвечает, перезапуск >> $Comf_LOG
comf_restart
# echo "zdox"
fi
}
Comf_HOST="127.0.0.1"
Comf_PORT="9750"
Comf_LOG="/home/commfort/logs/commfort.log"
Comf_BIN="/home/commfort/run.sh"
while getopts “host:port:log:” OPTION
do
case $OPTION in
host)
Comf_HOST=$OPTARG
;;
port)
Comf_PORT=$OPTARG
;;
log)
Comf_LOG=$OPTARG
;;
esac
done
case $1 in
start)
comf_start
echo `date` start >> $Comf_LOG
;;
stop)
comf_stop
echo `date` stop >> $Comf_LOG
;;
restart)
comf_restart
echo `date` restart >> $Comf_LOG
;;
-h)
usage
exit 0
;;
*)
comf_check
;;
esac
exit 0
идем в папку
/etc/cron.d
и создаем там запись
Код: Выделить всё
*/3 * * * * commfort /usr/local/bin/commfort >/dev/null 2>&1
Все готово скрипт будет сам проверять подключения по порту 9750 если конекта нет то скрипт перезапускает сервер
Re: Ман по установке Commfort 4 Server на Linux
Добавлено: 13:18, 23.01.2013
AZERI
в каком смысле создаем запись? я просто не очень хорошо понимаю все в лине, можно подробней немножко?
Re: Ман по установке Commfort 4 Server на Linux
Добавлено: 14:03, 23.01.2013
Yaroslav
AZERI писал(а):в каком смысле создаем запись? я просто не очень хорошо понимаю все в лине, можно подробней немножко?
В смысле добавляем строку в файле.
Re: Ман по установке Commfort 4 Server на Linux
Добавлено: 23:15, 23.01.2013
AZERI
Yaroslav писал(а):AZERI писал(а):в каком смысле создаем запись? я просто не очень хорошо понимаю все в лине, можно подробней немножко?
В смысле добавляем строку в файле.
у меня есть такая папка но файла нету, сразу говорю в лине зеленоватый, если можно порозжованней
Re: Ман по установке Commfort 4 Server на Linux
Добавлено: 00:42, 24.01.2013
Yaroslav
AZERI писал(а):у меня есть такая папка но файла нету, сразу говорю в лине зеленоватый, если можно порозжованней
Такая отмазка не будет прокатывать «в лине зеленоватый». Первая команда, которую рекомендую выучить, это
man. Далее man crontab
В общем тебе надо выяснить как работает cron в твоём дистрибутиве, потому, что в разных дистрибутивах бывают разные рекомендации, что до расположения фалов расписания.
Что касается данно задачи, то в общих чертах в папке /etc/cron.d нужно создать файл и вписать туда данную строку. Насколько я помню, то файл называть можно произвольно. Касательно нашего случая, это может быть commfortd, например.
Re: Ман по установке Commfort 4 Server на Linux
Добавлено: 13:21, 24.01.2013
AZERI
Re: Ман по установке Commfort 4 Server на Linux
Добавлено: 16:04, 24.01.2013
Yaroslav
Во-первых, надо сначала безо всяких скриптов ручками запустить сервер так, чтобы всё работало. Я же вижу, например, что там ругается wine про отсутствие шрифтов. Решение этой проблемы выходит далеко за рамки данной дискуссии.
Второй момент, который я вижу, это ругательство на предмет того, что Х-сервер уже запущен. По этому поводу могу сказать, что после неудачного запуска надо поубивать всё, что запустилось, но не убилось автоматически. В данном случае это, наверное, xvfb не уиблся и пытается запускаться снова.
Но для того, чтобы разобраться, всё таки надо будет освоить базовые операции. Касательно этих вопросов советую начать с
ps и
kill. Первая показывает список процессов, вторая позволяет выборочно убивать процессы.