Pycharm cannot finish updating skeletons - ssh

I'm newly moving from a Linux working environment to Windows, and I'm mainly using local port forwarding+Pycharm to run my python code on a server that is double-hop from my laptop.
I am able to establish the ssh tunnel through Windows cmd or MobaXterm local terminal or MobaXterm tunneling tool. I works fine on my Pycharm, when I check it from tools/deployment/configuration/test connection, and I can also see the files in remote server. But every time I start my Pycharm, it shows two background process, "updating python interpreter" and "updating pycharm helper", and the precess bar simply do not show any moving on! And I cannot run python on remote server, because Pycharm says I lack python helper.
And most wired, when it is running these two precess, my terminal for local port forwarding freezes, and I cannot type in commands in the jump server. And when I try to recheck the connection, it turns out that connection fails.
My ssh tunneling+pycharm deployment used to work fine in my Ubuntu. Thanks anybody who can shed light on my confusion!

Well, thanks everyone, I have solved this problem.
The reason is simple, but I did not notice that the ~/.pycharm_helper 's size is actually changing in the process, while the GUI bar may be not moving.
So it is due to my double-hop inconvenience, and the low Internet speed. I left it in dorm for a whole night out, and it comes out just fine.

Related

Cannot connect to remote host in pycharm

I just can't connect to remote interpreter in Pycharm professional on my Mac. But I've connected to my interpreter very well in the past few weeks.
It is always showing "Connecting to XXX(my host ip)". I configured it with SSH Credentials and Deployment configuration. And I tested the sftp, it worked fine.
However, I can use my terminal to connect to my host successfully via ssh.
I just don't understand what happens.
I tried many ways and finally found that it was because I changed the default bash to zsh on my server. After changing zsh back to bash, it was fixed.

RDP session is slow

So I am connecting to my work computer from home and the Remote Desktop Connection app is annoyingly slow.
I pinged my work pc from my computer and it returned at a reasonable time of 50ms~ with 0 loss. I then attempted to ping my home IP from the RDP session and it timed out every time. Not sure if this might help anyone come to a conclusion but hopefully it does. Note I am also using it in conjunction with Cisco AnyConnect Secure Mobility Client if that helps at all. Work is Windows 7 and Home is Windows 8
I attempted switching off my home pc's firewall but that did nothing.
Any assistance would be great, surely a setting in the RDP file might make it run a little smoother.
I'll edit this post with further attempts at fixes below
Did three things and now RDP is running screaming fast:
Change RDP settings:
Run the RDP session and connect to the remote machine
Find mstcsc.exe in the Task Manager and and set priority to Realtime
I installed Ubuntu server XRDP. Went through Windows and terribly slowed down. I solved this problem. In the /etc/xrdp/xrdp.ini file, change crypt_level=high to crypt_level=None
Our remote chain is Citrix then RDP, target machine is Win 10.
I solved this issue by changing the mouse pointer scheme to None and disabling the pointer shadow.
In Windows 10. Go to Display Settings >> Scale and Layout >> Set the custom scale to 120 [you may need to experiment, try 110 - 150]
After that log in to your Remote Desktop, it should adjust the resolution and scaling factors.
It gave me a faster experience. If you need more then follow the answer of Mr. B

Remote interaction via VNC+Expect?

I've being doing a installation process in several machines in virtualbox and I'd like to try automated this process. I can do a expect script (see below), however I can't connect through ssh because this script will configure the network stuff after some other processes.
Where I work now, we use the vmware esxi and I am trying to discover if it's possible to automated the installation process that I said if I setup the vnc viewer in the guest machine. I can do the all process if I do it manually, but I'd like try to automated it. Although I think a expect script will be fine, I'm not connecting by ssh. Is it possible?? I started to think that maybe expect is not my answer here.
The processes is something like this:
Receives "Choose a option: ", sends "1\n"
Receives "Press any key", sends "\n"
Repeat step 2 more two times.
Receives "Do you agree (y/n)?", sends "y\n"
And so on.
The host as I said is a vmware esxi, the guest is similar to a linux and my machine is a fedora 20 (I'm saying this because I dont like the idea of install stuff on esxi).

Close ssh session without logging out at the remote computer

I am currently implementing a web server on a raspberry py using the web.py framework. For convenience, I am using ssh, so I can perform tests on the raspberry directly from my laptop.
My problem is that I can't close the ssh session without the web server stopping to work, because when the session closes, a logout is performed automatically.
Does anyone know a possibility to avoid the logout while closing the ssh session? I am using Linux on both my laptop and the raspberry. Thank you.
The best way to do this is by using screen. It lets you "multiplex" your command line, meaning you can run multiple commands at the same time. Also, when you exit your ssh session, the commands running in screen will continue to run, and it is very easy to install as well.
Here's a guide for installing and running it, and if you have any other questions, comment or google for more screen guides
Edit in 2022: These days many people prefer tmux to screen. My personal recommendation would be tmux, but both do the trick!
I have raspLite on the raspberry pi 3 model b and this is how i used screen in the bash enviroment.
ssh pi#hostname
apt-get install screen
screen
Then I press Enter to proceed through the License Agreement.
npm start
Then I close the terminal and the webserver continues untill i use the SIGINT kill command on the pid.

run gnu-screen/tmux/byobu from client

I need to understand a fundamental concept about terminal multiplexers yet I can't seem to find the answer.
As I understand these programs need to be installed on server but not necessarily on clients. It's not a problem with gnu-screen as it is already installed on most systems but it's not the case for tmux and byobu. The problem is that I don't have permission to install software on the server. Is there a way I can run byobu from my client to show statistics about the server I connect?
Also what exactly is the effect of 'byobu-enable' option?
I think there is a misunderstanding here. When you connect to the server and run a command (byobu in this case), you are running the command on the server. Statistics reported are for the server. It's possible to open a byobu session on your own desktop of course, but if you're ssh'd into a machine, you're very likely to be executing commands on that machine.
byobu-enable sets byobu to launch automatically when you open a terminal. I don't do this since you can have confusion if you have byobu running locally and on the remote end you have connected to, which causes problems when you try to interact with byobu itself.