Strona 1 z 2

Midnight Commander na koncie root

: 03 września 2012, 23:38
autor: marv
Witam!
Mam następujący problem:
Na koncie root, zarówno logując się bezpośrednio jak i przez su / su - z innego użytkownika, po uruchomieniu mc "nie działają" strzałki, klawisze funkcyjne, myszka.
Piszę w cudzysłowie, ponieważ widoczną reakcją na wymienione działania są znaczki w linii komend MC a niewidoczną reakcją jest wykonanie spodziewanych akcji.
Czyli np. klawisze F10+Enter powoduje opuszczenie MC ale samo F10 nie pokazuje potwierdzenia o wyjściu.

Inny przykład to ENTER, który za kolejnymi przyciśnięciami opuszcza katalog i wchodzi do niego jednak przy tym wygląd MC psuje się.

Co ciekawe Cltr+o+ENTER, które powoduje przejście do podpowłoki a następnie Ctrl+o, czyli powrót do MC, sprawia, że poruszanie strzałkami staje się możliwe i przestaje powodować wyświetlanie znaczków w linii poleceń jednak nie zachowuje się tak jak powinno - zaznaczenie aktualnego katalogu odświeżane jest co 2, 3 kliknięcia kursora. Działa też myszka ale i tu reakcje są "opóźnione".

Po wyjściu z MC konsola przestaje działać - nie widać w ogóle tego co się wpisuje, a ENTER nie powoduje przejścia do kolejnej linii a w zamian wyświetla kolejno:

Kod: Zaznacz cały

root@server:~# root@server:~# root@server:~# root@server:~# root@server:~# root@server:~#
Dodam, że jeśli wejdę do MC i od razu wyjdę (bez Ctrl+o) to konsola działa poprawnie.
W mcedit i mcview problem również występuje.

Myślę, że problem opisałem dokładnie.

Teraz coś o samym środowisku.

Na serwer loguję się przez SSH używając Putty.
I na pewno problemem nie jest Putty - na wszystkich innych kontach mc działa poprawnie.
Również na innych serwerach przy tej samej konfiguracji Putty.

Jest to VPS więc nie mam możliwości podejść do maszyny i spróbować zalogować się offline.

Kod: Zaznacz cały

# echo $SHELL
/bin/bash

Kod: Zaznacz cały

# uname -a
Linux server 2.6.35 #1 SMP Thu Apr 14 14:06:01 MSD 2011 i686 GNU/Linux

Kod: Zaznacz cały

# cat /etc/issue
Debian GNU/Linux 5.0 \n \l

Kod: Zaznacz cały

# mc -V
GNU Midnight Commander 4.6.2-pre1
Wirtualny System Plików: tarfs, extfs, cpiofs, ftpfs, fish
Z wbudowanym edytorem
Używanie biblioteki S-Lang zainstalowanej w systemie z bazą danych terminfo
Z domyślną obsługą podpowłoki
Z możliwością wykonywania zadań w tle
Z obsługą myszy w oknie xterma i na konsoli linuksowej
Z obsługą wielu języków
Z obsługą wielu stron kodowych
Data types: char 8 int 32 long 32 void * 32 off_t 64 ecs_char 8

Wszystkie rozwiązania jakie znalazłem z pomocą Google oraz na tym forum nie sprawdziły się.

W tym:
  1. Restart VPS-a.
  2. Przypisywanie klawiszy w MC (F9 + o + k).
  3. export TERM=linux i innych zmiennych jakie proponowało "Google".
  4. Konfiguracja Putty.
  5. Aktualizacja systemu oraz samego MC.
  6. Usunięcie i zainstalowanie na nowo MC (wszystkie katalogi .mc, mc itd. również usuwałem).
  7. Pewnie jeszcze wiele innych, które próbowałem przez ostatnie 3 podejścia do tematu po ~6h każde.
W vim-ie wszystko działa prawidłowo.

Pomyślałem, że może to coś z ncurses więc zainstalowałem htop - działa prawidłowo.
Jak już pisałem wcześniej - na wszystkich innych kontach użytkowników - działa prawidłowo.

Dodam, że przez blisko 2 lata działo wszystko poprawnie!
Pewnego razu loguję się i - ba dum tss - nie działa.

Na prawdę brakuje mi już pomysłów.
Pytałem kilku znanych mi mądrych głów i również rozłożyli ręce.

Wspomóżcie proszę wiedzą i pomysłami!

: 04 września 2012, 22:25
autor: fnmirk
Przedstaw zawartość pliku:

Kod: Zaznacz cały

/etc/apt/sources.list

: 05 września 2012, 08:36
autor: marv

Kod: Zaznacz cały

# cat /etc/apt/sources.list
deb http://archive.debian.org/debian lenny  main non-free contrib
deb http://archive.debian.org/debian-security/ lenny/updates main contrib non-free
Ale... praktycznie wszystko jest kompilowane ze źródeł - mc akurat był z paczki ale potem próbowałem skompilować i niestety problem ten sam ;(

: 05 września 2012, 10:26
autor: fnmirk
Używasz przestarzałej wersji Debiana i raczej trudno Ci będzie znaleźć kogoś kto sprawdzi podobne wersje oprogramowania. Najlepiej jakbyś to zaktualizował, przynajmniej do aktualnej wersji stabilnej.
http://debian.linux.pl/threads/25841-Ja ... zez-mcedit

Lub usuń wszystkie powiązane pakiety z programem:

Kod: Zaznacz cały

apt-get purge mc
Następnie:

Kod: Zaznacz cały

dpkg --purge $(dpkg -l | grep ^rc | awk '{print $2}')
Polecenie to usuwa pozostałości po usuniętych pakietach, które były usuwane bez opcji ,,purge''.

: 05 września 2012, 10:53
autor: marv
Dziękuję za odpowiedź.

Kod: Zaznacz cały

# apt-get purge mc
Czytanie list pakietów... Gotowe
Budowanie drzewa zależności
Odczyt informacji o stanie... Gotowe
Następujące pakiety zostaną USUNIĘTE:
  mc*
0 aktualizowanych, 0 nowo instalowanych, 1 usuwanych i 0 nieaktualizowanych.
Po tej operacji zostanie zwolnione 6402kB miejsca na dysku.
Kontynuować [T/n]?
(Odczytywanie bazy danych ... 24944 plików i katalogów obecnie zainstalowanych.)
Usuwanie mc ...
Czyszczenie z plików konfiguracyjnych dla mc ...
dpkg - ostrzeżenie: podczas usuwania mc, katalog "/etc/mc" nie był pusty, więc nie został usunięty.
Przetwarzanie wyzwalaczy dla man-db...

Kod: Zaznacz cały

# dpkg --purge $(dpkg -l | grep ^rc | awk '{print $2}')
(Odczytywanie bazy danych ... 24750 plików i katalogów obecnie zainstalowanych.)
Usuwanie libev3 ...
Czyszczenie z plików konfiguracyjnych dla libev3 ...

Kod: Zaznacz cały

# rm -R /etc/mc
# rm -R /root/.mc

Kod: Zaznacz cały

# apt-get install mc
Czytanie list pakietów... Gotowe
Budowanie drzewa zależności
Odczyt informacji o stanie... Gotowe
Sugerowane pakiety:
  zip unzip arj xpdf dbview odt2txt
Zostaną zainstalowane następujące NOWE pakiety:
  mc
0 aktualizowanych, 1 nowo instalowanych, 0 usuwanych i 0 nieaktualizowanych.
Konieczne pobranie 0B/2140kB archiwów.
Po tej operacji zostanie dodatkowo użyte 6402kB miejsca na dysku.
Zaznaczenie poprzednio niezaznaczonego pakietu mc.
(Odczytywanie bazy danych ... 24750 plików i katalogów obecnie zainstalowanych.)
Rozpakowanie mc (z .../mc_2%3a4.6.2~git20080311-4_i386.deb) ...
Przetwarzanie wyzwalaczy dla man-db...
Konfigurowanie mc (2:4.6.2~git20080311-4) ...
Dalej to samo ;(

Czy można przyjąć, że to nie jest problem samego mc?

Może coś z terminalem? Jądrem? Ncurses?

Na Google otarłem się o problem z ubiegłej dekady o podobnych objawach ale niestety był bez odpowiedzi i rozwiązania.

Autor napisał, że stało się to po wklejeniu ppm w Putty jakiegoś nieznaczącego acz długiego ciągu znaków.

Ja co prawda sobie nie przypominam, żeby takie coś mi się przydarzyło ale w różnym stanie człowiek pracuje więc nie wykluczam.
Poza tym brak mi już punktów zaczepienia więc łapię każdej "brzytwy".

: 07 września 2012, 10:00
autor: franek4always
Czy masz fizyczny dostęp do serwera ? Jeżeli tak to sprawdź jak się zachowuje mc na konsoli Alt+F1. Jeśli nie masz fizycznego dostępu do maszyny spróbuj innego klienta SSH

: 07 września 2012, 10:33
autor: marv
Dziękuję za odpowiedź.
Niestety odpowiedzi na Twoje pytania znajdują się już w pierwszym moim wpisie:
franek4always pisze: Czy masz fizyczny dostęp do serwera?
marv pisze: Jest to VPS więc nie mam możliwości podejść do maszyny i spróbować zalogować się offline.
franek4always pisze: Jeśli nie masz fizycznego dostępu do maszyny spróbuj innego klienta SSH
marv pisze: I na pewno problemem nie jest Putty - na wszystkich innych kontach mc działa poprawnie.
Również na innych serwerach przy tej samej konfiguracji Putty.

: 07 września 2012, 11:29
autor: fnmirk
Spróbuj aktualizacji systemu do nowszej wersji.

: 07 września 2012, 11:33
autor: marv
fnmirk pisze:Spróbuj aktualizacji systemu do nowszej wersji.
Zrobię kopię maszyny i spróbuję.

Jeśli to pomoże to przyczyna problemu pozostanie nieznana :|

: 07 września 2012, 16:03
autor: franek4always
To skoro na innych kontach działa, a problem występuje tylko na root to problem musi leżeć:
  1. W powłoce i zmiennych środowiskowych, porównaj szczególnie:

    Kod: Zaznacz cały

    set -o; stty -a
  2. Zmienionych i zapisanych ustawieniach mc dla użytkownika root, przed uruchomieniem, usuń katalog /root/.mc
  3. Aliasowaniu wywołania mc, spróbuj uruchomić go przez: