# What is an elegant way to use Julia on a Linux server?

**URL:** <https://discourse.julialang.org/t/what-is-an-elegant-way-to-use-julia-on-a-linux-server/108890>\
**Category:** General Usage\
**Tags:** question, linux, server\
**Created:** [January 17, 2024, 7:15am UTC](https://discourse.julialang.org/t/what-is-an-elegant-way-to-use-julia-on-a-linux-server/108890 "2024-01-17T07:15:36Z")\
**Posts on this page:** 10\
**Page:** 2

<div class="post-metadata">

**Author:** ![pfitzseb](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/pfitzseb/32/45566_2.png) [@pfitzseb](https://discourse.julialang.org/u/pfitzseb)\
**Post date:** [January 17, 2024, 12:56pm UTC](https://discourse.julialang.org/t/what-is-an-elegant-way-to-use-julia-on-a-linux-server/108890/24 "2024-01-17T12:56:06Z")

</div>

You can also use e.g. ProfileCanvas.jl to generate a HTML file that you can then copy to your local machine for easy inspection.

---

<div class="post-metadata">

**Author:** ![WuSiren](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/wusiren/32/42529_2.png) [@WuSiren](https://discourse.julialang.org/u/WuSiren)\
**Post date:** [January 17, 2024, 1:17pm UTC](https://discourse.julialang.org/t/what-is-an-elegant-way-to-use-julia-on-a-linux-server/108890/25 "2024-01-17T13:17:07Z")

</div>

No, I’m just one of the general users not admin. Thanks! I will study your suggestion carefully! 🤝 🤝

---

<div class="post-metadata">

**Author:** ![WuSiren](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/wusiren/32/42529_2.png) [@WuSiren](https://discourse.julialang.org/u/WuSiren)\
**Post date:** [January 17, 2024, 1:18pm UTC](https://discourse.julialang.org/t/what-is-an-elegant-way-to-use-julia-on-a-linux-server/108890/26 "2024-01-17T13:18:03Z")

</div>

Thank you! 🤝 🤝 I use Windows laptop.

---

<div class="post-metadata">

**Author:** ![WuSiren](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/wusiren/32/42529_2.png) [@WuSiren](https://discourse.julialang.org/u/WuSiren)\
**Post date:** [January 17, 2024, 1:23pm UTC](https://discourse.julialang.org/t/what-is-an-elegant-way-to-use-julia-on-a-linux-server/108890/27 "2024-01-17T13:23:55Z")

</div>

Using Julia on the Raspberry PI? That sounds cool! hopefully Hope I can try it in the future. Now I’m using a public server.

---

<div class="post-metadata">

**Author:** ![WuSiren](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/wusiren/32/42529_2.png) [@WuSiren](https://discourse.julialang.org/u/WuSiren)\
**Post date:** [January 17, 2024, 1:29pm UTC](https://discourse.julialang.org/t/what-is-an-elegant-way-to-use-julia-on-a-linux-server/108890/28 "2024-01-17T13:29:44Z")

</div>

Thanks! I really also need a good editor to make some minor modification to the code. I’ll study your kind suggestions carefully! 🤝 🤝

---

<div class="post-metadata">

**Author:** ![stevengj](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stevengj/32/71_2.png) [@stevengj](https://discourse.julialang.org/u/stevengj)\
**Post date:** [January 17, 2024, 1:35pm UTC](https://discourse.julialang.org/t/what-is-an-elegant-way-to-use-julia-on-a-linux-server/108890/29 "2024-01-17T13:35:51Z")

</div>

> [@Christian\_Dengler](#):
>
> Also you might have to ensure that the UIs accept a connection from outside the server, not sure if it is done by default.

Better to simply tunnel them through SSH, which avoids listening to a port that is accessible to other users on the network.

For example assuming `julia` and `jupyter` and IJulia.jl are installed on the server, log into your server with `ssh -L 8778:localhost:8998 my.server.domain`, then run `jupyter notebook --no-browser`. On your local machine you can now connect to Jupyter at `localhost:8778`.

---

<div class="post-metadata">

**Author:** ![xgdgsc](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/xgdgsc/32/608_2.png) [@xgdgsc](https://discourse.julialang.org/u/xgdgsc)\
**Post date:** [January 17, 2024, 1:42pm UTC](https://discourse.julialang.org/t/what-is-an-elegant-way-to-use-julia-on-a-linux-server/108890/30 "2024-01-17T13:42:17Z")

</div>

There’ s also [jupyterlab/jupyterlab-desktop: JupyterLab desktop application](https://github.com/jupyterlab/jupyterlab-desktop) that could be used to use as a separate app from browser (if you have plenty of RAM). And vscode remote can do the ssh tunnelling mentioned above automatically or through the UI easily.

---

<div class="post-metadata">

**Author:** ![johnh](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/johnh/32/3615_2.png) [@johnh](https://discourse.julialang.org/u/johnh)\
**Post date:** [January 17, 2024, 1:52pm UTC](https://discourse.julialang.org/t/what-is-an-elegant-way-to-use-julia-on-a-linux-server/108890/31 "2024-01-17T13:52:16Z")

</div>

Regarding tunnelling, Mobaxterm has an easy to use GUI for setting up ssh tunnels.  
I really do reccomend it.

If you want to use command line ssh tunnel setups you can do so by using the Mobaxterm local terminal

---

<div class="post-metadata">

**Author:** ![ronan\_g\_reilly](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ronan_g_reilly/32/39219_2.png) [@ronan\_g\_reilly](https://discourse.julialang.org/u/ronan_g_reilly)\
**Post date:** [January 23, 2024, 11:34am UTC](https://discourse.julialang.org/t/what-is-an-elegant-way-to-use-julia-on-a-linux-server/108890/32 "2024-01-23T11:34:58Z")

</div>

I use Julia for teaching and have found Christian’s suggestion very workable. I don’t have a laptop to bring to the classroom, but connect remotely to my home-based Mac mini. To get around connectivity issues caused by various firewalls, I use ngrok ([http://ngrok.com](http://ngrok.com)) to tunnel through to the Mac. The combination works very well for me and has a significant advantage when dealing with machine learning demos with significant compute requirements. The alternative was JuiaHub, which I found expensive and its Pluto option not especially usable.

---

<div class="post-metadata">

**Author:** ![FelixHorger](https://avatars.discourse-cdn.com/v4/letter/f/919ad9/32.png) [@FelixHorger](https://discourse.julialang.org/u/FelixHorger)\
**Post date:** [January 29, 2024, 5:22pm UTC](https://discourse.julialang.org/t/what-is-an-elegant-way-to-use-julia-on-a-linux-server/108890/33 "2024-01-29T17:22:50Z")

</div>

Good solution! I find tmux a bit clunky for moving text from script to REPL, so I want to suggest another solution: the vim-slime plugin ([GitHub - jpalardy/vim-slime: A vim plugin to give you some slime. (Emacs)](https://github.com/jpalardy/vim-slime)). In my setup it allows me to open a remote Repl on a server (ssh) and send code blocks from my script into the repl with a single keystroke. Super useful

[Previous page](https://discourse.julialang.org/t/what-is-an-elegant-way-to-use-julia-on-a-linux-server/108890.md?page=1)
