LINUX.ORG.RU

Ошибка при запуске консольного редактора NANO


0

1

При попытке запуска редактора Nano выводится ошибка: Error opening terminal: Linux ( Linux - результат выполнения uname -s ). Я правильно понимаю, что это связано с виртуальными консолями ( tty ? ). В настоящее время пытаюсь разобраться с этими самыми tty. Помогите кто чем может :-(


Ответ на: комментарий от IlyamI

>Я правильно понимаю, что это связано с виртуальными консолями ( tty ? ).

Это связано с

Система самосборная

Т.е. с кривыми руками

Led ★★★☆☆
()

собирали с чем? ncurses или termcap ?
/usr/share/terminfo
должно содержать базу по терминалам

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

nano-2.2.5 собирался с опциями по-умолчанию из-под openSUSE 2.6.31.5-0.1: ./configure --prefix= затем make install DESTDIR=...

В новую систему ни ncurses ни termcap не интегрировались.

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

ldd `which nano`

sylvia@allure:~$ ldd `which nano`
linux-gate.so.1 => (0xb7712000)
libncursesw.so.5 => /lib/libncursesw.so.5 (0xb76a2000)
libc.so.6 => /lib/libc.so.6 (0xb7526000)
libdl.so.2 => /lib/libdl.so.2 (0xb7521000)
/lib/ld-linux.so.2 (0xb7713000)

для ncurses например

ncurses включает собственную базу termcap

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

sylvia@allure:~$ strace -fv -o /tmp/strace.log nano
sylvia@allure:~$ cat /tmp/strace.log |grep open
27753 open(«/etc/ld.so.cache», O_RDONLY) = 3
27753 open(«/lib/libncursesw.so.5», O_RDONLY) = 3
27753 open(«/lib/libc.so.6», O_RDONLY) = 3
27753 open(«/lib/libdl.so.2», O_RDONLY) = 3
27753 open(«/usr/lib/locale/locale-archive», O_RDONLY|O_LARGEFILE) = 3
27753 open(«/etc/nanorc», O_RDONLY|O_LARGEFILE) = 3
27753 open(«/home/sylvia/.nanorc», O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
27753 open(«/etc/terminfo/x/xterm», O_RDONLY|O_LARGEFILE) = 3
27753 open(«/usr/lib/gconv/gconv-modules.cache», O_RDONLY) = -1 ENOENT (No such file or directory)
27753 open(«/usr/lib/gconv/gconv-modules», O_RDONLY) = 3


сами смотрите, была открыта база termcap /etc/terminfo/x/xterm

для консоли будет /etc/terminfo/l/linux

можно задавать тип терминала в переменной TERM

Sylvia ★★★★★
()

С кривыми руками это связано.

Нкурсес вроде бы нужно. Мб ошибаюсь.

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

да, посмотрел, Nano зависит от libncursesw. ncurses собирал до редактора, тк какая-то из прог тоже зависела от этой библиотеки, но тогда я собирал ncurses в /mnt/newSystem/tools/ncurses и просто скопировал libncursesw в папку lib новой системы. Сейчас скопировал папки /share/tabset и terminfo в usr новой системы и все библиотеки ncurses в папку lib. Все равно та же ошибка. Может какой другой редактор попробовать?

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

на сегодня пока спасибо. завтра буду разбираться с strace.

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

зашибись программа STRACE. Все выяснилось и запустилось.

To Silvia: какие еще можете посоветовать программы для облегчения выявления ошибок?

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

все ж таки база termcap ? хорошо.


программы - по ситуации )

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