Bug 2441 - can\'t work in batch mode without display
: can\'t work in batch mode without display
Status: CLOSED FIXED
: Sisyphus
(All bugs in Sisyphus/dia)
: unstable
: all Linux
: P3 blocker
Assigned To:
:
:
:
:
:
  Show dependency tree
 
Reported: 2003-03-28 19:32 by
Modified: 2005-04-17 20:37 (History)


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2003-03-28 19:32:46
При конвертировании файлов dia в другие форматы
dia -n -t eps file.dia
при подключении, например, по ssh, выдаётся ошибка
\"cannot open display\", хотя показ заставки отключен (-n).
Это делает невозможным использование dia в пакетном режиме, например, в
Makefiles.

PS В переводе есть опечатка \"Файл/НаСпечатать\"
PPS Было удобно читать документацию в html из поставки, а не с сайта.
---

---
------- Comment #1 From 2003-03-28 20:15:18 -------
$ rpm -q dia
dia-0.91-alt1
$ LC_ALL=C dia --version
Dia version 0.91, compiled 12:07:15 Mar 19 2003
$ dia --version
п▓п╣я─я│п╦я▐ Dia 0.91, я│п╨п╬п╪п©п╦п╩п╦я─п╬п╡п╟п╫п╬ 12:07:15 Mar 19 2003
$ make
dia --nosplash -e vsftpd.eps vsftpd.dia

(dia:14115): Gtk-WARNING **: cannot open display:  
make: *** [vsftpd.eps] Error 1

Это ужасно, и мне придется откатываться на более рабочую версию.
------- Comment #2 From 2003-03-28 20:15:18 -------
$ rpm -q dia
dia-0.91-alt1
$ LC_ALL=C dia --version
Dia version 0.91, compiled 12:07:15 Mar 19 2003
$ dia --version
п▓п╣я─я│п╦я▐ Dia 0.91, я│п╨п╬п╪п©п╦п╩п╦я─п╬п╡п╟п╫п╬ 12:07:15 Mar 19 2003
$ make
dia --nosplash -e vsftpd.eps vsftpd.dia

(dia:14115): Gtk-WARNING **: cannot open display:  
make: *** [vsftpd.eps] Error 1

Это ужасно, и мне придется откатываться на более рабочую версию.
------- Comment #3 From 2004-06-03 16:54:21 -------
актуальна ли эта бага до сих пор? 
Если да - то dia кандидат в contrib. 
 
------- Comment #4 From 2004-06-03 18:47:43 -------
Актуальна.

[vyt@mail vyt]$ ssh vyt
vyt@vyt.it.vzljot's password: 
Last login: Fri May 28 16:22:37 2004 from p
[vyt@vyt vyt]$ dia -n -t eps alt.dia

(dia:17342): Gtk-WARNING **: cannot open display:  
[vyt@vyt vyt]$ rpm -q dia
dia-0.92-alt2
------- Comment #5 From 2004-06-20 19:26:59 -------
fixed in dia-0.93-alt3 
------- Comment #6 From 2005-02-17 14:47:33 -------
$ rpm -q dia
dia-0.94-alt5cvs20050205

Если установлена переменная окружения DISPLAY, то всё работает:
$ set | grep DISPLAY
DISPLAY=:0.0
$ dia -e file.png file.dia
file.dia --> file.png

Просто убираем переменную окружения DISPLAY
$ unset DISPLAY; dia -e file.png file.dia

В итоге полный ничего. png не создаётся. Программа выходит с кодом 0.

Поиск в коде показал, что точка выхода расположена в app/app_procs.c:868
------- Comment #7 From 2005-03-14 14:51:04 -------
fixed in dia-0.94-alt6cvs20050313 
(но проявился другой баг с SegFault при выходе) 
------- Comment #8 From 2005-03-18 12:23:25 -------
(In reply to comment #7)
> fixed in dia-0.94-alt6cvs20050313 
> (но проявился другой баг с SegFault при выходе) 

это также не устраивает. Хоть png и создаётся, но, например, make рассматривает
segfault как ошибку и прекращает работу. Так что samba (документация) по
прежнему не собирается...
------- Comment #9 From 2005-03-20 11:51:29 -------
Кажется я понял, где собака порылась.
Попробуйте такой патч:

--- dia-0.94-orig/app/app_procs.c       2005-03-19 22:03:38 +0300
+++ dia-0.94/app/app_procs.c    2005-03-20 11:52:28 +0300
@@ -238,7 +238,8 @@
   }

   diagdata = g_object_new (DIA_TYPE_DIAGRAM_DATA, NULL);
-
+  g_object_ref(diagdata);
+
   if (!inf->import_func(infname,diagdata,inf->user_data)) {
     g_error(_("%s error: need valid input file %s\n"),
             dia_message_filename(argv0), dia_message_filename(infname));
------- Comment #10 From 2005-03-20 16:56:33 -------
Спасибо, Владимир! 
applied in dia-0.94-alt7cvs*  
------- Comment #11 From 2005-04-17 20:37:05 -------
исправлено