Czasami zdarza mi się, że naciskam CTRL+ Zprzez przypadek, a moja aplikacja znika w tle. Wiem, że mogę to przywrócić fg
, więc nie jest to taka wielka sprawa. Ale i tak zastanawiam się, czy to job control
wyłączyć. W całym moim życiu nie pamiętam jednego momentu, kiedy go potrzebowałem, to po prostu wydaje mi się reliktem z przeszłości.
Czy można job control
całkowicie wyłączyć ? A może coś mi brakuje, a ta funkcja może być przydatna? Jak miałbym to wyłączyć w moim.bashrc
AKTUALIZACJA:
Próbowałem set +m
zgodnie z sugestią @Falsenames. Działa to jednak tylko wtedy, gdy wpisuję go w terminalu. Dodanie set +m
do mojego .bashrc
nie ma żadnego efektu.
bash
bashrc
job-control
Martin Vegter
źródło
źródło
$-
(lista aktywnych opcji) już nie zawiera,m
gdy umieszczaszset +m
w swoich~/.bashrc
sugestiach, sugeruje, że Bash próbuje wyłączyć kontrolę zadań, ale ostatecznie nie robi tego z powodu błędu - być może warto zgłosić za pośrednictwem [email protected]Odpowiedzi:
Możesz dodać następujące elementy do wiersza poleceń, aby przestać korzystać z trybu monitorowania.
set + m
Jeśli naprawdę potrzebujesz później funkcji ctrl-z, możesz po prostu wpisać „set -m”, aby włączyć monitorowanie dla tej sesji.
Od bata człowieka . Zauważ, że dotyczy to opcji „-m”, a „+ m” przełącza to ustawienie, aby wyłączyć.
Jako ostatni wysiłek, możesz ręcznie skompilować wersję bash bez flagi „--enable-job-control”. Oto krótki przewodnik instalacji od GNU. Jeśli zdecydujesz się pójść tą drogą, NIE zastępuj / bin / bash na wypadek, gdyby procesy działające w tle przebiegały przez bash, oczekując kontroli zadań. Zamiast tego utwórz plik /bin/bash.alt lub inny plik. Domyślną powłokę można zmienić na tę alternatywną, uruchamiając usermod lub edytując / etc / passwd jako root.
źródło
set +m
działa w terminalu, ale kiedy dodam go do mojego.bashrc
, nie ma to żadnego efektu..bashrc
.stty susp undef
wyłączy inicjowany przez klawiaturę sygnał zawieszenia dla większości programów, jednak polecenia takie jakvim
iemacs
mające specyficzne powiązania Ctrl-Zbędą musiały zostać indywidualnie skonfigurowane ponownie.Możesz dodać to polecenie stty do swojego
~/.bash_profile
lub~/.profile
wylogować się, zalogować ponownie.źródło
mc
nie działa. Co w zasadzie potwierdza to, co powiedziałeś. Czy nie ma uniwersalnego rozwiązania, które działałoby dla wszystkich?set +m
działamc
, ale tylko wtedy, gdy wpisuję go w terminalu, a nie w.bashrc
lub.profile
.Aby odpowiedzieć na tę część pytania: Cz /
fg
combo jest niezbędne dla mojego przepływu pracy w vimie. Na przykład wolę Czgit commit
>>fg
niż używanie git wrapperów z poziomu vima.Cz pomaga w traktowaniu powłoki jako IDE, zgodnie z zasadą „ rób jedną rzecz ”. (To zamiast „edytor jako IDE”).
źródło
^Z
jest absolutnie nadal przydatny - ale był jeszcze bardziej użyteczny, gdy terminal nie był oknem, ale pudełkiem przed tobą. I miałeś tylko jeden.Dodaj
trap "" SIGTSTP
w swoim skrypcie. Złapie sygnał i zignoruje go.źródło