# Can I run an in-situ catalyst on a server and view the result remotely from my local desktop?

**URL:** https://discourse.paraview.org/t/can-i-run-an-in-situ-catalyst-on-a-server-and-view-the-result-remotely-from-my-local-desktop/713
**Category:** In Situ Support
**Created:** [October 11, 2018, 10:19pm UTC](https://discourse.paraview.org/t/can-i-run-an-in-situ-catalyst-on-a-server-and-view-the-result-remotely-from-my-local-desktop/713 "2018-10-11T22:19:31Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![Dawei\_Mu](https://discourse.paraview.org/letter_avatar_proxy/v4/letter/d/e95f7d/32.png) [@Dawei\_Mu](https://discourse.paraview.org/u/Dawei_Mu)
#### Post date: [October 11, 2018, 10:19pm UTC](https://discourse.paraview.org/t/can-i-run-an-in-situ-catalyst-on-a-server-and-view-the-result-remotely-from-my-local-desktop/713/1 "2018-10-11T22:19:31Z")

</div>

Dear all,

I am wondering may I run an in-situ catalyst program on a server and view the result remotely from my local desktop?

Thank you in advance,

Dawei

---

<div class="post-metadata">

### Author: ![nicolas.vuaille](https://discourse.paraview.org/user_avatar/discourse.paraview.org/nicolas.vuaille/32/5873_2.png) [@nicolas.vuaille](https://discourse.paraview.org/u/nicolas.vuaille)
#### Post date: [October 12, 2018, 8:01am UTC](https://discourse.paraview.org/t/can-i-run-an-in-situ-catalyst-on-a-server-and-view-the-result-remotely-from-my-local-desktop/713/2 "2018-10-12T08:01:09Z")

</div>

Hi,

Absolutely !  
You have to set ‘LiveVisualization’ to True in your Catalyst script. Then, while the simulation is running, you can connect ParaView to it from the menu ‘Catalyst \> Connect’  
For more info, you may want to look at the [Catalyst UserGuide](https://www.paraview.org/paraview-downloads/download.php?submit=Download&version=v5.6&type=data&os=Sources&downloadFile=ParaViewCatalystGuide-5.6.0-RC2.pdf), that can be found in the [ParaView download](https://www.paraview.org/download/) page

---

<div class="post-metadata">

### Author: ![Dawei\_Mu](https://discourse.paraview.org/letter_avatar_proxy/v4/letter/d/e95f7d/32.png) [@Dawei\_Mu](https://discourse.paraview.org/u/Dawei_Mu)
#### Post date: [October 12, 2018, 5:00pm UTC](https://discourse.paraview.org/t/can-i-run-an-in-situ-catalyst-on-a-server-and-view-the-result-remotely-from-my-local-desktop/713/3 "2018-10-12T17:00:54Z")

</div>

Hi,

Thank you so much for your reply. What I want to ask is can we run the code on server @192.168.0.1, and open a paraview GUI @192.168.0.2. I know how to connect a pvserver, however, Catalyst \> Connect only allow you to input port number not the IP address. is there a way I can connect the Catalyst server remotely?

Thank you so much for your time,

Dawei

---

<div class="post-metadata">

### Author: ![nicolas.vuaille](https://discourse.paraview.org/user_avatar/discourse.paraview.org/nicolas.vuaille/32/5873_2.png) [@nicolas.vuaille](https://discourse.paraview.org/u/nicolas.vuaille)
#### Post date: [October 15, 2018, 8:00am UTC](https://discourse.paraview.org/t/can-i-run-an-in-situ-catalyst-on-a-server-and-view-the-result-remotely-from-my-local-desktop/713/4 "2018-10-15T08:00:48Z")

</div>

Hi,

Catalyst works with a reverse connection concept. It means that the Catalyst code on server will try to connect the GUI. So the IP configuration must be set in the Catalyst side. If you use a python script, you should have a line like  
`coprocessor.DoLiveVisualization(datadescription, "someIPadress", 22222)`

In your case `someIPadress` should be the paraview GUI 192.168.0.2. Then in the GUI you should open the corresponding port (by default 22222).

---

<div class="post-metadata">

### Author: ![mirenradia](https://discourse.paraview.org/letter_avatar_proxy/v4/letter/m/6bbea6/32.png) [@mirenradia](https://discourse.paraview.org/u/mirenradia)
#### Post date: [April 5, 2022, 10:46am UTC](https://discourse.paraview.org/t/can-i-run-an-in-situ-catalyst-on-a-server-and-view-the-result-remotely-from-my-local-desktop/713/5 "2022-04-05T10:46:06Z")

</div>

Hello, I want to do something similar but in this case my remote system is on a completely different network and my local machine does not have a public hostname.

For normal ParaView client-host setup (i.e. _not_ reverse connection), I can just tunnel ports using `ssh -L` (I wrote some instructions for users of my scientific code [here](https://github.com/GRChombo/GRChombo/wiki/Visualising-outputs#remote-visualisation)) but this doesn’t seem to work for Catalyst Live. If I try and ‘Connect’ to a Catalyst Live session after tunnelling ports (from local to remote), I get the following errors (with ParaView 5.10.1)

```auto
( 264.677s) [paraview] vtkSocket.cxx:199 ERR| vtkServerSocket (0x16cf2db0): Socket error in call to bind. Address already in use.
( 264.687s) [paraview]vtkTCPNetworkAccessMana:439 ERR| vtkTCPNetworkAccessManager (0x153f3c0): Failed to set up server socket.

```

I guess if I figured out how to set up a normal ParaView client-server reverse connection with my local machine (which doesn’t have a public hostname) as the client, then it may be possible to apply the method to Catalyst Live.

I should also add that I would like to do this with the new Catalyst v2.0 scripts (i.e. generated from v5.9 or later) in case that complicates things.

---

<div class="post-metadata">

### Author: ![Dave\_DeMarle](https://discourse.paraview.org/user_avatar/discourse.paraview.org/dave_demarle/32/27_2.png) [@Dave\_DeMarle](https://discourse.paraview.org/u/Dave_DeMarle)
#### Post date: [April 14, 2022, 2:55pm UTC](https://discourse.paraview.org/t/can-i-run-an-in-situ-catalyst-on-a-server-and-view-the-result-remotely-from-my-local-desktop/713/6 "2022-04-14T14:55:15Z")

</div>

Hi Miren, a few extra details are available in the ParaView tutorial and here:  
[https://www.paraview.org/Wiki/Reverse\_connection\_and\_port\_forwarding#Reverse\_Connection\_over\_a\_Reverse\_ssh\_Tunnel\_with\_portfwd](https://www.paraview.org/Wiki/Reverse_connection_and_port_forwarding#Reverse_Connection_over_a_Reverse_ssh_Tunnel_with_portfwd)

The security hiccup I mentioned is that ssh in general won’t blindly forward traffic that originates on a remote node over a tunnel. Because of that it is sometimes necessary inject portfwd or socat or similar as an intermediary process on the login node. All the intermediary does is connect the incoming traffic from the compute node to the ssh tunnel that also exists on the log node back, where it then goes to the client.

---

<div class="post-metadata">

### Author: ![mirenradia](https://discourse.paraview.org/letter_avatar_proxy/v4/letter/m/6bbea6/32.png) [@mirenradia](https://discourse.paraview.org/u/mirenradia)
#### Post date: [April 20, 2022, 9:15am UTC](https://discourse.paraview.org/t/can-i-run-an-in-situ-catalyst-on-a-server-and-view-the-result-remotely-from-my-local-desktop/713/7 "2022-04-20T09:15:49Z")

</div>

Thanks for the pointer, @Dave_DeMarle. Setting up reverse connections for Catalyst (and also remote ParaView rendering) worked once I realised I needed to change the `-L` flags in my `ssh` command to `-R` in order to tunnel _from_ the remote _to_ the local client rather than vice versa.
