How to change the default browser used by the ipython/jupyter notebook in Linux?

102,824

Solution 1

You can create jupyter_notebook_config.py by:

jupyter notebook --generate-config

Then you go to

~/.jupyter/jupyter_notebook_config.py

and change

# c.NotebookApp.browser = ''

to for example:

c.NotebookApp.browser = '/usr/bin/google-chrome %s'

You can choose which ever browser is installed. You'll find the path for example by typing which firefox Do not forget to delete the #

Solution 2

The accepted answer is great, here is a solution if you want to change it one time:

jupyter-notebook --browser=firefox

Of course you could make a bash wrapper script with this command or create a .desktop file that would let you launch it in your preferred browser every time you use that launcher.

An example wrapper script could look like this:

#!/bin/bash
jupyter-notebook --browser=firefox

You could then place it in your PATH, e.g. $HOME/bin/jnbff.sh, so you can easily launch it from any directory by simply typing its name.

Sidenote: the dash in jupyter-notebook allows for tab-completion, the usually recommended way with space (i.e. jupyter notebook) doesn't.

Solution 3

Update for notebooks running in the JupyterLab interface

As JupyterLab is increasingly replacing Jupyter Notebook, here is an update to customize the default browser in which JupyterLab is launched. The solution is extremely similar to the accepted answer from @Christof:

jupyter-lab --generate-config

will create ~/.jupyter/jupyter_lab_config.py in which the line:

# c.ServerApp.browser = ''

can be uncommented and edited with the default browser of choice. For instance:

c.ServerApp.browser = '/usr/bin/qutebrowser %s'

Solution 4

The following worked for me on win10. For firefox: c.NotebookApp.browser = u'c:/Program Files/Mozilla Firefox/firefox.exe %s'

For chrome c.NotebookApp.browser = u'C:/Program Files (x86)/Google/Chrome/Application/chrome.exe %s'

note the 1) "" vs "/" 2) the u and %s

Share:
102,824
Kevin
Author by

Kevin

Updated on July 10, 2022

Comments

  • Kevin
    Kevin almost 2 years

    I'm on Linux Mint 17.3.

    How do I change the default browser used by the Jupyter notebook?

    I have installed the notebook as a part of Anaconda 3 and it opens up in my default browser—Chrome. But for some reason, Chrome won't let me make a new ipynb. Clicking the 'new' button simply doesn't do anything. So I copied the notebook url to Firefox and it works perfectly fine there.

    Is there a way I can make it work with Chrome? Otherwise, how do I change the default browser? The usual answer I've come across is that I have to change the c.NotebookApp.browser option, but I can't find a way to do so, since trying to find ipython_notebook_config in the terminal comes up with 4 results:

    ./anaconda3/lib/python3.5/site-packages/jupyter_core/tests/dotipython/profile_default/ipython_notebook_config.py
    ./anaconda3/lib/python3.5/site-packages/jupyter_core/tests/dotipython_empty/profile_default/ipython_notebook_config.py
    ./anaconda3/pkgs/jupyter_core-4.0.6-py35_0/lib/python3.5/site-packages/jupyter_core/tests/dotipython/profile_default/ipython_notebook_config.py
    ./anaconda3/pkgs/jupyter_core-4.0.6-py35_0/lib/python3.5/site-packages/jupyter_core/tests/dotipython_empty/profile_default/ipython_notebook_config.py
    
  • Kevin
    Kevin about 8 years
    Many thanks for explaining the process of making the config file! But sadly, this doesn't work. After I set the browser to firefox(the correct path, I checked), the server starts but it just fails to open any browser window, let alone firefox. Reverts back to normal(Chrome) when I comment it out. Any suggestions about why it might have a problem opening up firefox? Thanks.
  • TimStaley
    TimStaley about 8 years
    @Kevin have you tried simply running 'firefox' from the command line? If that works, I would expect the same (without the /usr/bin prefix) to work for Jupyter.
  • Charlie Fish
    Charlie Fish almost 8 years
    You know the question says Linux not Windows 10 correct?
  • mforbes
    mforbes over 7 years
    Although not stated explicitly, jupyter uses the webbrowser module to run this, so the suggestion here works. I.e. on Mac OS X, the "command" should be c.NotebookApp.browser = u'open -a /Applications/Google\ Chrome.app %s'.
  • becko
    becko over 7 years
    This changes the default browser system-wide, not just for Jupyter.
  • wordsforthewise
    wordsforthewise over 7 years
    This sort of worked for me, but every time I open jupyter notebook, it takes me to the url: openurl%28http//localhost:8888/tree,new-page) . Any idea how to fix that?
  • Matt Davis
    Matt Davis about 7 years
    Thanks! This worked for me on Windows by providing a Unix-style path (see stackoverflow.com/questions/24873302/…). I use Firefox by default for security reasons but I want that security off for jupyter, so this is a great solution. Also I totally forgot to uncomment the line! :)
  • Pavlo Dyban
    Pavlo Dyban over 6 years
    To sum it up, under Windows the following string inside your config_file.py works: c.NotebookApp.browser = 'C:/Program Files (x86)/Mozilla Firefox/firefox.exe %s'. Do not forget the %s at the end.
  • Dusan Maksic
    Dusan Maksic almost 4 years
    c.NotebookApp.browser = '/usr/bin/google-chrome-stable %s' should be the line on linux