Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2008-06-26 13:39:16

  Minio - Użyszkodnik

Minio
Użyszkodnik
Skąd: Poznań, Polska
Zarejestrowany: 2007-12-22
Serwis

[SOLVED] Wyłącznie przechwytywania poleceń kontrolnych przez screena

Mam rtorrenta na screenie. W rtorrencie ^S służy do uruchamiania pobierania torrenta, ^Q do wyłączenia programu. Ze screenem obycia nie mam wcale.

Rzecz w tym, że screen, jak każdy emulator terminala (xterm na pewno, innych nie sprawdzałem, ale wątpię żeby było inaczej), przechwytuje ^S i ^Q (jak i całą masę innych) jako swoje wewnętrzne polecenia, w związku z czym nigdy nie trafiają one do rtorrenta. ^S służy do zaprzestania wysyłania danych na wyjście (terminal), czyli jakby zawiesza terminal — ^Q przywraca go do stanu normalnego.

O ile ^Q specjalnie mi nie przeszkadza, o tyle przechwytywanie ^S pozbawia mnie jednej z podstawowych funkcji rtorrenta. Jeżeli zechcę uruchomić pobieranie (a czasami niechcący zamykam sobie torrenta, gdy ^A^D (odczepienie screena) nie załapie, i do rtorrenta przekazane jest tylko ^D), muszę zabijać proces rtorrenta (zamknąć go nie mogę ze względu na wspomniane przed chwilą przechwytywanie ^Q), uruchamiać go na TTY, wystartować wybrany torrent, zamknąć program i ponownie uruchomić na screenie (dzięki temu nie muszę przełączać się na TTY żeby sprawdzić stan pobierania; ponadto TTY nie chciało mi się konfigurować i pracuje w niskiej rozdzielczości — wystarczająco niskiej, by nie zmieściły się wszystkie elementy interfejsu rtorrent). Nie należy to do rozwiązań wygodnych.

Chciałbym zmusić screen, żeby zaprzestał przechwytywać polecenia sterujące — albo przynajmniej rzeczone ^S i ^Q, które kolidują mi z codzienną pracą z rtorrentem. Nie bardzo jednak wiem jak to osiągnąć – zdaje się te i inne funkcje określa plik .inputrc, jednak w manie screena nie znalazłem słowa o tym, jak screenowi nakazać korzystanie z innego pliku .inputrc (a nie chciałbym, żeby korzystał z domyślnego – chociaż z braku innych możliwości...). Być może plik .inputrc jest wybierany na podstawie zmiennej $TERM – jednak niezależnie od tego, dalej nie daje mi to żadnej wiedzy praktycznej.

Moje pytanie brzmi: jak zmusić screena do zaprzestania przechwytywania poleceń sterujących (oczywiście tych specyficznych dla terminala – gdyby wyłączyć absolutnie wszystkie, straciłbym kontrolę nad screenem i tym samym zalety korzystania z tego programu)?

Alternatywnie: jak wyzwolić proces spod kontroli screena, a następnie ponownie go podeń podpiąć?
W tym wypadku mógłbym przełączyć się na TTY, odpiąć rtorrenta spod screena, zrobić swoje i ponownie podpiąć go pod screen. Dalej nie byłby to szczyt wygody, ale rozwiązanie takie byłoby lepsze niż to, z którego jestem zmuszony korzystać w tej chwili. Dodatkową jego zaletą jest brak przerwy w działaniu rtorrenta.

Ostatnio edytowany przez Minio (2008-06-26 19:21:27)

Offline

 

#2  2008-06-26 14:58:44

  ilin - Palacz

ilin
Palacz
Skąd: PRLu
Zarejestrowany: 2006-05-03

Re: [SOLVED] Wyłącznie przechwytywania poleceń kontrolnych przez screena

Próbowałeś używać prawego ^?
Z nim zdaje się wszystko dziala jak powinno ale mogę się mylić.


Problemy rozwiązujemy na forum nie na PW -> Niech inni na tym skorzystają.
Polski portal Debiana

Offline

 

#3  2008-06-26 15:13:35

  Minio - Użyszkodnik

Minio
Użyszkodnik
Skąd: Poznań, Polska
Zarejestrowany: 2007-12-22
Serwis

Re: [SOLVED] Wyłącznie przechwytywania poleceń kontrolnych przez screena

Prawy ctrl daje ten sam efekt zarówno pod xtermem, jak TTY. Znaczy „zawiesza” terminal, do naprawienia ^Q.

Offline

 

#4  2008-06-26 18:52:11

  bercik - Moderator Mamut

bercik
Moderator Mamut
Skąd: Warszawa
Zarejestrowany: 2006-09-23
Serwis

Re: [SOLVED] Wyłącznie przechwytywania poleceń kontrolnych przez screena

screen przechwytyje tylko i wylacznie ^A (i to co po tej komendzie podajemy) - aby je wyslac do programu nalezy dac ^A a (patrz man screen)

^S i ^Q przechwytuja emulatory terminala powyzej screen'a ... wiec odpal screen'ana jakims ktory tego nie robi (z eksperymentow jakie robilem konsole z KDE 3.5.9 nie przechwytuje - nalezy uzyc "scroll lock", xterm i getty przechwytuja)


"Wszyscy wiedzą, że czegoś zrobić nie można. Ale przypadkowo znajduje się jakiś nieuk, który tego nie wie. I on właśnie robi odkrycie." (A.Einstein)

Offline

 

#5  2008-06-26 19:21:02

  Minio - Użyszkodnik

Minio
Użyszkodnik
Skąd: Poznań, Polska
Zarejestrowany: 2007-12-22
Serwis

Re: [SOLVED] Wyłącznie przechwytywania poleceń kontrolnych przez screena

bercik napisał(-a):

^S i ^Q przechwytuja emulatory terminala powyzej screen'a ... wiec odpal screen'ana jakims ktory tego nie robi

Oj, to chyba nie jest poważna propozycja ;) . Zresztą jeśli wierzyć temu, co znalazłem w necie, zarówno aterm jak (u-?)rxvt przechwytują te zdarzenia, więc wielkiego wyboru i tak nie mam.

bercik napisał(-a):

(z eksperymentow jakie robilem konsole z KDE 3.5.9 nie przechwytuje - nalezy uzyc "scroll lock", xterm i getty przechwytuja)

O tym, że getty również, nie wiedziałem. Tylko jesteś tego pewien? Gdy odpalę rtorrenta na TTY2, ^S uruchamia torrent; gdy na TTY2 uruchomię sesję screena z rtorrentem, ^S „zawiesza” terminal. Stąd wnioskuję, że jednak screen cokolwiek ingeruje.

Niemniej Twój post nakierował mnie na odpowiednie zapytanie do gugli, które z kolei przedstawiło rozwiązanie moich problemów:

Kod:

echo 'stty -ixon -ixoff' >> ~/.bashrc

^S i ^Q są wtedy normalnie przekazywane i interpretowane przez rtorrent.

Dziękuję :) .

Żałuję tylko, że nie udało się odkryć ogólniejszej metody na wyłączanie/modyfikowanie poleceń sterowania terminalem.

Offline

 

#6  2008-06-27 02:12:54

  bercik - Moderator Mamut

bercik
Moderator Mamut
Skąd: Warszawa
Zarejestrowany: 2006-09-23
Serwis

Re: [SOLVED] Wyłącznie przechwytywania poleceń kontrolnych przez screena

Minio napisał(-a):

Oj, to chyba nie jest poważna propozycja ;)

jest - nawet podalem co nie przechwytuje ;-)

Minio napisał(-a):

bercik napisał(-a):

(z eksperymentow jakie robilem konsole z KDE 3.5.9 nie przechwytuje - nalezy uzyc "scroll lock", xterm i getty przechwytuja)

O tym, że getty również, nie wiedziałem. Tylko jesteś tego pewien? Gdy odpalę rtorrenta na TTY2, ^S uruchamia torrent; gdy na TTY2 uruchomię sesję screena z rtorrentem, ^S „zawiesza” terminal. Stąd wnioskuję, że jednak screen cokolwiek ingeruje.

z ponizszego polecenia ktore podales widac ze nie sam getty a samo uzadzenie tty ... to nasowa sugestie ze screen zmienia conajwyzej jakies ustawienie tty bo sam na pewno tego nie przechwytuje (sprawdzalem)


"Wszyscy wiedzą, że czegoś zrobić nie można. Ale przypadkowo znajduje się jakiś nieuk, który tego nie wie. I on właśnie robi odkrycie." (A.Einstein)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Możesz wyłączyć AdBlock — tu nie ma reklam ;-)