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!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1
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
Próbowałeś używać prawego ^?
Z nim zdaje się wszystko dziala jak powinno ale mogę się mylić.
Offline
Prawy ctrl daje ten sam efekt zarówno pod xtermem, jak TTY. Znaczy „zawiesza” terminal, do naprawienia ^Q.
Offline
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)
Offline
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:
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
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)
Offline
Strony: 1