Вопрос или проблема
Я на Ubuntu 20.04.2 LTS.
Когда я хочу открыть Jupyter-Notebook в терминале, открывается приложение Telegram Desktop.
На самом деле Jupyter-Notebook запущен в фоновом режиме. Поэтому я могу открыть браузер и использовать его.
Вот вывод:
(geospatial) siavash@siavash-fra:~$ jupyter-notebook
[I 16:59:52.522 NotebookApp] Обслуживание блокнотов из локального каталога: /home/siavash
[I 16:59:52.522 NotebookApp] Jupyter Notebook работает на:
[I 16:59:52.522 NotebookApp] http://localhost:8888/?token=192817dbf13703bc25bbd1f348df5e9c1c7c9275d579aef3
[I 16:59:52.522 NotebookApp] Используйте Control-C, чтобы остановить этот сервер и завершить все ядра (дважды, чтобы пропустить подтверждение).
[C 16:59:52.526 NotebookApp]
Чтобы получить доступ к блокноту, откройте этот файл в браузере:
file:///home/siavash/.local/share/jupyter/runtime/nbserver-5326-open.html
Или скопируйте и вставьте один из этих URL-адресов:
http://localhost:8888/?token=192817dbf13703bc25bbd1f348df5e9c1c7c9275d579aef3
(telegram-desktop:5339): lib_base-WARNING **: 16:59:53.204: К сожалению, интеграция GTK конфликтует с темой платформы и стилем qgtk2. Поэтому QT_QPA_PLATFORMTHEME и QT_STYLE_OVERRIDE будут сброшены.
lib_base-Message: 16:59:53.204: Это можно игнорировать, установив переменную окружения DESKTOP_APP_I_KNOW_ABOUT_GTK_INCOMPATIBILITY в любое значение, однако, если используется тема или стиль qgtk2, это приведет к сбою.
lib_base-Message: 16:59:53.204: Интеграцию GTK можно отключить, установив переменную окружения DESKTOP_APP_DISABLE_GTK_INTEGRATION в любое значение. Имейте в виду, что это приведет к недоступности некоторых функций.
Gtk-Message: 16:59:53.412: Не удалось загрузить модуль "canberra-gtk-module"
Gtk-Message: 16:59:53.413: Не удалось загрузить модуль "canberra-gtk-module"
[ALSOFT] (EE) Не удалось установить приоритет реального времени для потока: Операция не разрешена (1)
Я также посмотрел на этот похожий вопрос, но он не отвечает на мой.
Я нашел проблему: После установки Telegram, что странно, он делает Telegram приложением по умолчанию для открытия HTML-файлов. Именно поэтому после запуска jupyter-notebook
в терминале, он пытается открыть ссылку с помощью Telegram.
Чтобы решить эту проблему, просто найдите любой HTML-файл. Щелкните правой кнопкой мыши на нем. Перейдите в Свойства
. На вкладке Открыть с помощью
выберите ваш браузер и нажмите Установить по умолчанию
.
Проблема решена. В следующий раз Telegram не откроется. Вместо этого у вас будет работающий jupyter-notebook в браузере.
Как было замечено, вы должны запускать jupyter notebook через другой порт.
Мне не удалось воспроизвести этот баг, и также не удалось найти способ заставить telegram-desktop использовать другой порт, но вы можете настроить jupyter notebook на использование порта, отличного от 8888
.
Сначала проверьте, существует ли файл /home/USERNAME/.jupyter/jupyter_notebook_config.py
. Если нет, выполните jupyter notebook --generate-config
.
Затем откройте этот файл и раскомментируйте следующую строку, изменив порт на 8889
, например:
c.NotebookApp.port = 8888
^ Измените этот порт на 8889
Сохраните файл и снова запустите jupyter notebook. С этого момента Telegram Desktop не должен открываться.
Сгенерируйте конфигурацию с этой командой, если у вас ее нет:
jupyter notebook --generate-config
Затем измените эту строку в конфигурации:
# c.NotebookApp.browser=""
на эту строку или просто добавьте эту строку в конфигурацию, если у вас нет предыдущей строки:
c.NotebookApp.browser="firefox"
Ответ или решение
Проблема, с которой вы столкнулись, заключается в том, что Jupyter Notebook открывает Telegram Desktop вместо вашего веб-браузера. Эта ситуация возникла после установки Telegram, который стал приложением по умолчанию для открытия HTML-файлов. В результате, при запуске Jupyter Notebook, ссылка на сервер Jupyter открывается именно в Telegram, что и приводит к подобной проблеме.
Чтобы решить данную проблему, выполните следующие шаги:
Изменение приложения по умолчанию для HTML-файлов
- Найдите любой HTML-файл на вашем компьютере.
- Щелкните правой кнопкой мыши на файле и выберите «Свойства».
- Перейдите на вкладку «Открыть с» и выберите ваш веб-браузер (например, Firefox или Chrome).
- Нажмите кнопку «Задать по умолчанию».
После выполнения этих шагов Jupyter Notebook должен открыть ссылки в вашем браузере, а не в Telegram.
Изменение порта для Jupyter Notebook
Если вы хотите избежать подобной ситуации в будущем или если проблема все же не решена, вы можете настроить Jupyter Notebook для работы на другом порту. Это действие предотвратит конфликты с другими приложениями, которые могут использовать стандартный порт Jupyter.
-
Проверьте наличие конфигурационного файла Jupyter, который обычно находится по пути
/home/USERNAME/.jupyter/jupyter_notebook_config.py
. Если файла нет, сгенерируйте его командой:jupyter notebook --generate-config
-
Откройте конфигурационный файл в текстовом редакторе и найдите (или добавьте) строку, относящуюся к устанавливаемому порту. Измените порт на 8889 или любой другой, например:
c.NotebookApp.port = 8889
Настройка браузера для Jupyter Notebook
Также можно явным образом указать браузер, который должен открываться при запуске Jupyter Notebook. Для этого в конфигурационном файле отредактируйте или добавьте следующую строку:
c.NotebookApp.browser = "firefox"
Убедитесь, что строка не закомментирована, убрав символ #
, если он присутствует.
Примечания
- Убедитесь, что у вас установлены все необходимые пакеты и зависимости для корректной работы Jupyter Notebook.
- Если у вас возникают другие проблемы с GTK интеграцией и модулями, вы можете обратиться к документации по выводам, упомянутым в вашем вопросе, и следовать рекомендациям по их устранению.
В результате выполнения указанных шагов вы сможете работать с Jupyter Notebook без нежелательных конфликтов с Telegram Desktop или любыми другими приложениями. Это улучшит ваш рабочий процесс и обеспечит гармоничную работу инструментов, необходимых для разработки и анализа данных.