Курсор мыши превратился в «толстый плюс», не может щелкать, но мышь может двигаться

24

У меня Ubuntu 16.04. Последнее, что я помню, когда набирал текст в терминале, import python это было сделано по ошибке, и я Ctrl+ Zпосле завершения этого процесса. У меня было pip uninstall monaryвозможно до этого.

Но прямо сейчас мышь застряла как плюс (представьте себе плюс, сделанный из углов 4 смежных квадратов с очень небольшим промежутком между ними). Он не может щелкнуть, хотя курсор может перемещаться в любом месте экрана. Я даже попробовал внешнюю мышь, но результат тот же.

Я планирую перезагрузить компьютер, и это может решить проблему. Но я хочу знать, что вызвало это, и если это произойдет снова, что мне делать?

Kugelblitz
источник

Ответы:

40

import это команда для создания скриншота, предоставляемая набором инструментов ImageMagick.

Когда ты бежишь

import something

как команда оболочки, он покажет вам перекрестие курсора, чтобы выбрать прямоугольную область экрана для захвата, а затем сохранить это как файл something.

Теперь вы нажали Ctrl+ Z, что является ярлыком для остановки процесса и возврата в командную строку в Bash. Так importчто все еще "работает" (не совсем - он заморожен, но все еще существует) и не получил возможности выйти или вернуть управление мышью и экраном.

Вы должны продолжить importпроцесс, например, оттаяв и вернув его на передний план оболочки с помощью команды fgBash. Вероятно, он сразу же завершит работу, в противном случае вы можете завершить его с помощью Ctrl+ C.

В качестве альтернативы, вы также можете просто убить процесс, закрыв окно родительского терминала / сеанс Bash или используя команду вроде killall -KILL import.

Byte Commander
источник
6
вау, сэр, вы гений
Дерек
Случайно я запустил скрипт на python в виде оболочки (у него не было shebang), это решило проблему. Спасибо.
jcubic
1
'exit -f' также работает, если вам не важно содержимое текущего окна терминала.
jackw11111
Спасибо за решение этой проблемы. Но теперь у меня есть родительская проблема - я хочу запустить скрипт Python из командной строки, но он запустит ImageMagick, когда попадет в оператор импорта? Как мне обойти это?
Тарпа
2
@Tharpa Либо вы должны вручную запустить его с правильным интерпретатором (например, например python3 path/to/my_script.py), либо вы должны убедиться, что ваш скрипт имеет правильный «шебанг», то есть первая строка файла начинается с #!пути с указанием необходимого интерпретатора ( для Python 3 вы обычно используете #!/usr/bin/env python3).
Byte Commander
5

В большинстве случаев эта проблема возникает из-за конфликта в импорте сценариев Python с командой Linux «import», я сталкивался с этой проблемой несколько раз и использовал простое решение.

type "bg" on your terminal
then "Cnt + c"
JAX
источник
3

Если у вас есть терминальная сессия жива. Вы можете использовать команду bg, чтобы вернуться к последней команде, которую вы выполнили. Как только вы вернете процесс обратно в терминал, просто остановите его, используя ctrl + c .

Если сеанс терминала не активен, вы можете завершить процесс, используя ps -ax | grep «имя команды» Как только у вас есть идентификатор процесса, вы можете уничтожить его с помощью команды kill pid .

Прабхакар Джа
источник