Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> idle для python2.4 на Debian 
:(
    Опции темы
pythonwin
Дата 4.5.2006, 10:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 14
Всего: 36



Всем привет!

Можете помочь?!

Поставил idle для python2.4 на Debian - всё прошло гладко, но когда стал запускать, получил:
команда ------------------
idle-python2.4


ошибка -------------------
Traceback (most recent call last):
  File "/usr/bin/idle-python2.4", line 5, in ?
    main()
  File "/usr/lib/python2.4/idlelib/PyShell.py", line 1350, in main
    root = Tk(className="Idle")
  File "/usr/lib/python2.4/lib-tk/Tkinter.py", line 1569, in __init__
    self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
_tkinter.TclError: no display name and no $DISPLAY environment variable 
 
PM WWW GTalk Jabber   Вверх
J2A
Дата 4.5.2006, 10:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 17.11.2005
Где: Омск

Репутация: 16
Всего: 18



Цитата(pythonwin @ 4.5.2006,  10:05)
no display name and no $DISPLAY environment variable

От root'а запускаешь? 
--------------------
Be easy, stay cool
PM MAIL WWW Jabber   Вверх
pythonwin
Дата 4.5.2006, 10:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 14
Всего: 36



Да пробовал запускать и под простом пользователем и под рутом 
PM WWW GTalk Jabber   Вверх
setq
Дата 4.5.2006, 10:44 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Не знаю в чём дело. Не сталкивался.

А... Иксы запущены?  smile  
  Вверх
allexdav
Дата 4.5.2006, 12:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


лоботомированное тело тиклского питоноида



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 19.3.2006
Где: Россия, Нижний Но вгород

Репутация: 3
Всего: 3



ну блин написано же - неверно установлена переменная окружения $DISPLAY
она должна быть вида <IP>:<номер дисплея> например 127.0.0.1:01 ну или не IP а алиас
узнается командой echo $DISPLAY в любом шелле
надо узнать,на каком $DISPLAY pfgeoty  питон
например вот так:
Код

import os
os.system("echo $DISPLAY")

соответственно ежели они не совпадают - переопределить $DISPLAY
в зависимости от шелла 
ну например
Код

setenv DISPLAY  127.0.0.1:01


Добавлено @ 12:41 
она может быть и просто не поставлена - соответственно поставить правильную

Добавлено @ 12:44 

она может быть и просто не поставлена - соответственно поставить правильную 
PM MAIL ICQ   Вверх
pythonwin
Дата 5.5.2006, 08:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 14
Всего: 36



Сделал всё как вы написали - не помогает!

Код

>>> import os
>>> os.system("echo $DISPLAY")

0


Код

setenv DISPLAY  127.0.0.1:01
-bash: setenv: command not found
 
PM WWW GTalk Jabber   Вверх
allexdav
Дата 5.5.2006, 11:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


лоботомированное тело тиклского питоноида



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 19.3.2006
Где: Россия, Нижний Но вгород

Репутация: 3
Всего: 3



DISPLAY=127.0.0.1:01
Цитата

в зависимости от шелла

для bash - соотвественно 
Код

export DISPLAY=127.0.0.1:01

НО 127.0.0.1:01 - это только для примера... надо узнать свой собственный дисплей
для этого в bash пишем
Код

echo $DISPLAY


соответсвенно это значение и подставляем 
PM MAIL ICQ   Вверх
allexdav
Дата 8.5.2006, 08:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


лоботомированное тело тиклского питоноида



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 19.3.2006
Где: Россия, Нижний Но вгород

Репутация: 3
Всего: 3



pythonwin - вы решили проблему?  
PM MAIL ICQ   Вверх
pythonwin
Дата 8.5.2006, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 14
Всего: 36



К сожелению - нет!

Сделал как Вы сказали, но у меня получилось:

Код

echo $DISPLAY



Поэтому не знаю что подставлять в:

Код

export DISPLAY=127.0.0.1:01


т.к. если 
Код

export DISPLAY=127.0.0.1:01
, то получаю:

Код

idle-python2.4 -i
Traceback (most recent call last):
  File "/usr/bin/idle-python2.4", line 5, in ?
    main()
  File "/usr/lib/python2.4/idlelib/PyShell.py", line 1350, in main
    root = Tk(className="Idle")
  File "/usr/lib/python2.4/lib-tk/Tkinter.py", line 1569, in __init__
    self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
_tkinter.TclError: couldn't connect to display "127.0.0.1:01"
 
PM WWW GTalk Jabber   Вверх
allexdav
Дата 8.5.2006, 23:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


лоботомированное тело тиклского питоноида



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 19.3.2006
Где: Россия, Нижний Но вгород

Репутация: 3
Всего: 3



не понял, что вывела команда echo $DISPLAY.
Ее запускали с терминала? или выполните env | grep DISPLAY - опять же из терминала
значение 127.0.0.1 - это просто пример... скорее всего это значение работать не будет smile 
PM MAIL ICQ   Вверх
pythonwin
Дата 10.5.2006, 07:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 14
Всего: 36



Цитата(allexdav @ 8.5.2006,  23:30)
не понял, что вывела команда echo $DISPLAY.
Ее запускали с терминала? или выполните env | grep DISPLAY - опять же из терминала
значение 127.0.0.1 - это просто пример... скорее всего это значение работать не будет smile

Пожалуйста, объясните что за переменная $DISPLAY и какие значения она должна принимать?

Заранее благодарен! 
PM WWW GTalk Jabber   Вверх
J2A
Дата 11.5.2006, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 17.11.2005
Где: Омск

Репутация: 16
Всего: 18



Цитата(pythonwin @ 10.5.2006,  07:35)

Пожалуйста, объясните что за переменная $DISPLAY и какие значения она должна принимать?

man X:
Цитата

DISPLAY NAMES
       From the user's perspective, every X server has a display name  of  the
       form:

                         hostname:displaynumber.screennumber

       This  information is used by the application to determine how it should
       connect to the server and which screen it should  use  by  default  (on
       displays with multiple monitors):

       hostname
               The  hostname  specifies  the  name of the machine to which the
               display is physically connected.  If the hostname is not given,
               the most efficient way of communicating to a server on the same
               machine will be used.

       displaynumber
               The phrase "display" is usually used to refer to collection  of
               monitors  that  share  a  common  keyboard  and pointer (mouse,
               tablet, etc.).  Most workstations tend to only  have  one  key-
               board,  and  therefore,  only  one display.  Larger, multi-user
               systems, however, frequently have several displays so that more
               than  one  person can be doing graphics work at once.  To avoid
               confusion, each display on a machine is assigned a display num-
               ber  (beginning  at  0)  when  the X server for that display is
               started.  The display number must always be given in a  display
               name.

       screennumber
               Some  displays share a single keyboard and pointer among two or
               more monitors.  Since each monitor has its own set of  windows,
               each  screen  is assigned a screen number (beginning at 0) when
               the X server for that display is started.  If the screen number
               is not given, screen 0 will be used.

On  POSIX  systems,  the default display name is stored in your DISPLAY
       environment variable.  This variable is set automatically by the  xterm
       terminal  emulator.   However,  when  you log into another machine on a
       network, you will need to set DISPLAY by hand to point to your display.


По соображениям безопасности, на многих современных Linux, x-сервер не "слушает" коннекты по сети, а использует unix-socket'ы. Так что рабочее значение этой переменной в большинстве случаев будет ":0.0" (то, что в кавычках).

Если ты не пользуешься удаленным x-сервером (через ssh-туннель или "просто" по tcp/ip), не запускаешь idle из-под другого пользователя, у тебя настроены XFree/X.org, то дело, вероятно, в терминале (xterm, rxvt, aterm, konsole, gnome-terminal, etc)... Запускается ли какое-нибудь другое графическое приложение из этого терминаал (напр. xmessage hello)? Покажи вывод команды set (запуская ее с того же терминала). 
--------------------
Be easy, stay cool
PM MAIL WWW Jabber   Вверх
pythonwin
Дата 15.5.2006, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 14
Всего: 36



я работаю с Debian через ssh, при этом чаще всего сижу на разный машинах (ОС в большистве случаев - Windows XP)  

Это сообщение отредактировал(а) pythonwin - 16.5.2006, 08:55
PM WWW GTalk Jabber   Вверх
allexdav
Дата 15.5.2006, 15:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


лоботомированное тело тиклского питоноида



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 19.3.2006
Где: Россия, Нижний Но вгород

Репутация: 3
Всего: 3



вы создаете ssh - туннель... 
на самом первом компьютере ( на том, за которым сидите, если не используете что - нибудь типа Citrix) - узнаете свою переменную $DISLPAY... (если 1 машина - виндос хр, то, соотвтственно ваша 1 команда должна быть типа /usr/openwin/bin/xterm -ls -display $MYIP:$DNUM)
соответственно переменная дисплей у вас какая - то есть... теперь, на другом конце туннеля - надо поставить значение этой же переменной таким же, как и в начале...
то есть, допустим у вас последовательность комманд типа
- echo $DISPLAY
--- localhost:01 ( а IP у локалхоста например 192.168.2.7)
- ssh host1
- ssh host2
- echo $DISPLAY 
--- выводит наприме 0
- соответственно, в зависимости от шелла - получаем команду из описанных выше (export DISPLAY=192.168.2.7:01например
 
PM MAIL ICQ   Вверх
J2A
Дата 15.5.2006, 17:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 17.11.2005
Где: Омск

Репутация: 16
Всего: 18



Цитата(allexdav @ 15.5.2006,  18:57)
вы создаете ssh - туннель...

Для связки Linux-Linux (я так полагаю, и для *BSD всё в силе) всё гораздо проще: 

Код

j2a@moby:~$ ssh -X j2a@debsmart
Linux debsmart 2.6.15-1-k7 #2 Thu Feb 2 18:48:35 UTC 2006 i686

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
No mail.
Last login: Mon May 15 21:26:14 2006 from wifi.yurevich.ru
j2a@debsmart:~$ cat /etc/ssh/sshd_config | grep X11 
X11Forwarding yes
X11DisplayOffset 10
j2a@debsmart:~$ echo $DISPLAY
localhost:10.0


Комментарий: debsmart -- это десктоп, moby -- это ноутбук. Указанных выше опций на десктопе и опции -X при коннекте, достаточно чтобы idle, запущенный через ssh на debsmart коннектился к X-серверу на moby.

Есть чувство, что putty тоже умеет делать X11Forwarding.

P.S. По любому (в контексте только штатными средствами X и ssh, без VNC), чтобы запустить на Windows любую графическую прогу с Debian, нужно чтобы на Windows стоял какой-нибудь X-сервер. 
--------------------
Be easy, stay cool
PM MAIL WWW Jabber   Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1608 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.