LINUX.ORG.RU

Вопрос о xterm и шрифтах


0

0

Здраствуйте, использую систему OpenSolaris 2008.11 Возник вопрос насчет gvim, с последуещим вопросом об Xterm:

1. Первая проблема состоит, на мое мнение в отсутствие кодировки текстовые файлы написаные ранее в виндовс(которые включают русские буквы) открываються в vim, vi, gvim, gedit некоретно, а то есть - вместо букв кирилици появляються «кракозябры», например:

тНПС  - форум(норм версия) - это для gedit
блÑ~Q Ñ~MÑ~B пОÑ~AÑ~BеÑ~A - это для gvim
Вопрос состоит в том - где взять еще кодировки, например CP-1251 или это опять проблема со шрифтами? Где их взять и как поставить?

2. Вторая проблема заключаеться в невозможности запуска графических приложений с терминала, например:

E233: невозможно о�~Bк�~@�~K�~B�~L ди�~Aплей(тут написано невозможно открыть дисплей)
Press ENTER or type command to continue
на одном форуме подсказали вывести что скажет xterm:
root@opensolaris:/export/home/gothic# xterm
Warning: This program is an suid-root program or is being run by the root user.
The full text of the error or warning message cannot be safely formatted
in this environment. You may get a more descriptive message by running the
program as a non-root user or by removing the suid bit on the executable.
xterm Xt error: Can't open display: %s
xterm:  DISPLAY is not set
Что делать в таком случае? Буду очень благодарен :)

по поводу запуска графических приложений из консоли: в линуксе надо определить переменную DISPLAY

export DISPLAY=:0.0

если Х-ы работаю по умолчательным настройкам (на 0-м экране).

определив так переменную в консоли, можно будет запускать графические приложения и они залезут на определённый экран. (экранов может быть просто много, поэтому из консоли нет умолчательных настроек).

опять таки, в линуксе установленные локали можно посмотреть

locale -a

переопределить кодировку можно изменив LC_* LANG переменные. обо всём лучше подробнее читать в соответствующих мануалах.

gunja
()

> Что делать в таком случае?

Ты залогинен как рут, или через su запускаешь программы? Если второе, то попробуй не
su -
а
su
у меня на солярке так прокатывает. А если первое, то просто не логинься как рут, создай пользователя.

Uncle_Theodore ★★
()
Ответ на: комментарий от gunja

Насчет дисплея проделал я это, но путнего ничего неполучилось ((:

[code]
root@opensolaris:/export/home/gothic# export DISPLAY=:0.0
root@opensolaris:/export/home/gothic# gvim
Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified

E233: невозможно о�~Bк�~@�~K�~B�~L ди�~AплейXlib: connection to ":0.0" refused by server
Xlib: No protocol specified


Press ENTER or type command to continue
[/code]

OpenSolaris2008.11 отсутствует xorg config, я попробувал его создать но получил следующее:

[code]
root@opensolaris:/export/home/gothic# Xorg -configure

Fatal server error:
Server is already active for display 0
If this server is no longer running, remove /tmp/.X0-lock
and start again.

[/code]

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

конфигур не работает, потому что Х-ы уже активны и запущены. их надо сначала срезать и запускать конфигурацию. или экспортировать новую переменную ДИСПЛЕЙ и перезапускать конфигурацию. можно ещё (вроде)

X --configure -- :1

первая ошибка - тупо не пускает на этот экран. значит Х-сервер запущен для кого-то другого. посмотрите по ps aux | grep X кто запустил Х-сервер.

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

Есть пользователь но эффекта ноль:

gothic@opensolaris:~$ gvim E233: невозможно о�~Bк�~@�~K�~B�~L ди�~Aплей Press ENTER or type command to continue

norgegoth
() автор топика
Ответ на: комментарий от gunja

Да уж специфичные команды у Солярки :)

X --configure -- :1, не подошло, а подошло Xorg -configure :1 после этого графику выбило и после перезагрузки появился экран с непонятным интерфейсом

ps aux - тоже не подошло, подошло ps -A | grep X (A- все процесы)вывело :

800 ? 0:09 Xorg

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

> 800 ? 0:09 Xorg

там поле должно быть - имя пользователя, из под которого запущен сервер. проблема в том, что сервер запущен, но вас из-под рута на него не пустили (ошибка Хлиба). я к чему просто говорил - выяснить, кем запущены эти Х-ы. если что, срубить их с 0-го дисплея, перезапустить из-под своего пользователя. я соляре совсем никакой.

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

Все наконец я разобрался :)

root@opensolaris:~# ps -Af |grep X
gothic 622 618 13 20:40:18 ? 3:37 /usr/X11/bin/Xorg :0 -depth 24 -nolisten tcp -audit 0 -br -auth /var/lib/gdm/:0

gothic 1352 1298 0 20:40:57 ? 0:00 /usr/X11/bin/dispswitch
root@opensolaris:~#

Срубить это командой Xorg -configure :1(рубить надо из под этого пользователя или с под рута?), а потом заново присвоить дисплей с под рута?

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

> gothic 622 618 13 20:40:18 ? 3:37 /usr/X11/bin/Xorg :0 -depth 24 -nolisten tcp -audit 0 -br -auth /var/lib/gdm/:0

на сколько я могу понять, первое слово - имя пользователя, второе - идентификатор процесса, третье - идентификатор родительского процесса.

итак, что мы видим - что Xorg запущен пользователем готик. т.е. пользователь готик может что-то делать на экране, а вот рута туда не пустят. станьте пользователем готик. пропишите переменную дисплей в :0(которая следует из /var/lib/gdm/:0) , запустите ваше графическое приложение. должно получиться.

срубить - это или ctrl+ alt+ backspace (но скорее всего будет перезапуск Х-ов), или kill -9 pid ( где pid в нашем примере (идентификатор процесса) равен 622).

gunja
()

1. В диалоге открытия файлов можно выбрать кодировку. GEdit умеет автодетектить кодировки, но путает KOI8 и CP1251. Выход - запустить gconf-editor и поменять местами KOI8-R и WINDOWS-1251 в /apps/gedit-2/preferences/encodings/auto_detected.
Или же http://pi-es.livejournal.com/2673.html
2. pfexec?

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

да получаеться, но после смены пользователя или открытия нового терминала надо снова набирать команду дисплей? как сделать чтобы оно осталось в настройках? а также после команды Xorg -configure :1, слетела графика(окна непонятного размера, и нельзя поменять заставку) как это исправить?

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

далее следует занудство.

дисплей - это не команда, это - переменная окружения. как PS1, PS2, HOME, PATH, LD_LIBRARY_PATH и другие. в зависимости от командного интерпретатора (могут быть sh, bash, zsh, ...) нужно прописать в профиле эту переменную. на примере интерпретатора баш, нужно будет в файл .bashrc лежащий в домашней директории пользователя добавить строки

DISPLAY = :0

export DISPLAY

чтобы этот файл было видно командой ls необходимо указать ключ -a (все). т.е. ls -a

такое действие не совсем правильное, потому как эта переменная будет определена всякий раз, как вы залогинитесь (зарегистрируетесь) в системе (к примеру даже если зашли удалённым доступом, переменная будет определена).

всё, что после "а также после команды Xorg -configure :1" я уже не понял к чему спрашиваете (видеть надо, наверное). так что помоч не совсем могу. но(!) опция конфигуре создаёт файл в текущей директории, т.е. настройки не затрагивает (они лежать в /usr/X11/etc/xorg.conf вроде.). по-этому я совсем не понимаю, как что-то могло измениться, если вы, конечно же, не откопировали вновь созданный файл в ту директорию. переименуйте конфигурационный файл тогда по пути для Х-сервера, посмотрите, к чему приведёт.

и ещё: эксперимент - лучший источник знания.

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

Спасибо большое это получилось, а насчет xorg.conf буду уже на солярисных форумах спрашивать(так и не настроилось)

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

эта надпись означает, что я не помнил, как правильно запускать Х-ы.

попробуйте

Xorg -help

выдаст, что запускать надо

Xorg [:display] [parameters]

т.е. правильный вызов был бы

Xorg :1 -configure

где :1 - номер дисплея, который будет использовать Х-сервер. на одной и той же машине (в общем случае) может быть запущено несколько Х-сессий. ( в виндах эта сессия всегда одна. в линуксе/юниксах - сколько запустите).

у меня конфигурация выполняется только из-под sudo

между тем, запустить потом можно с помощью

Xorg :1 -config ./xorg.conf

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

Понятно, все я разобрался - проблема была в том что Солярис использует всироеный xorg.conf, и после генерации конфига Xorg -configure :1(для первого дисплея) иксы начали запускаться именно для него а для меня вовсе незапускались, пришлось сконфигить новый и более старого образа и перенести его на свое место :)

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