How to reset/restart Cinnamon if the panels become invisible - linux-mint

This question is a port of this one applied to a similar but distinct issue:
Problem:
The Cinnamon panel (my system: Linux Mint 19.1) became "invisible", that is, it still responded to mouse-clicks but became completely transparent.
Cause:
Having plugged in an external HDMI monitor and having switched to tty1 with CTRL+ALT+F1 and back to tty7 with CTRL+ALT+F7 (where Cinnamon runs) in order to have the external monitor recognized by the system.

This answer is a port of this one applied to a similar but distinct issue:
To restart the Cinnamon Panel
type ALT+F2 to open the command box
and then type r and enter.

Related

Remote Desktop Service behavior issue, RemoteApp kept freezing

My issue is while launching the RemoteApp it keeps spinning and says "Configuring remote session". Not all the time, though. It was launching a while ago and signed off. Now again launched the RemoteApp it just spinning.
And when I try to cancel it won't Cancel the RemoteApp I have to kill through the Task manager.
After killing it, I launched again and it just worked as expected
I need to get this fixed. Please suggest a resolution for me.
RDS is on Windows server 2012 R2
Client launching from Windows 10
Could you please let us know the following details.
Is this a recurring issue or 1 time occurred issue?
Please try to telnet the remote machine and check whether it's reachable or not when this problem occurs and share the feedback with us.
And also try the below solutions also, may be it'll fix this RDB freezing issue.
Try to see whether reducing Graphics helps.
This seems to have helped in few cases. This verifies whether you have the correct graphics driver.
Here’s how:
Right click the Windows desktop and choose Personalize.
Click "Display Settings".
Click "Advanced Settings”.
Click on "Troubleshoot" tab.
Click on "Change Settings".
On the resulting Display Adapter Troubleshooter dialog box, drag the slider one notch to the left.
If changing the video hardware acceleration solves the problem, it's a signal that your computer's video driver isn't quite perfect.
In such cases, download the driver from the link below.
http://support.dell.com/support/downloads/driverslist.aspx?c=us&cs=19&l=en&s=dhs&os=WW1&osl=en&catid=&impid=&SystemID=STUDIOXPS8100
Connect and see if there’s any improvement.
Security software could also be one of the reasons.
Temporarily disable them and verify the result.
Try disabling Receive Window Auto-Tuning.
Here is what you need to do:
Go to Start and type cmd.
Right-click on cmd and select “Run as administrator”.
Type: netsh interface tcp set global autotuninglevel=disabled and press Enter.
If you want to to re-enable it:
Type: netsh interface tcp set global autotuninglevel=normal and press Enter.
If this doesn’t help, please post your concerns at Technet forums for further support.
http://social.technet.microsoft.com/Forums/en/w7itpronetworking/threads
Note: Ensure to enable all your security software by now.
If the above steps unsuccess, use below steps and try the same.
Logon to the Remote Desktop Services Session Host computer as an administrator
Start--Run gpedit.msc
In the left pane, under Computer Configuration, navigate to following:
Administrative Templates\Windows Components\Remote Desktop Services\Remote Desktop Session Host\Remote Session Environment
In the right pane, double-click on Set compression algorithm for RDP data
Select Enabled, and choose Balances memory and network bandwidth
Click OK to save the change

Docker with shared X11 socket: Why can it "start" Firefox outside of the container?

I have the following scenario:
I set up a Docker container with access to the X11 socket, essentially I did this: https://stackoverflow.com/a/25334301
Then I installed Firefox within the container and started it using the "firefox" command in bash.
What I noticed: If Firefox was already running on my host machine when I started it in the container, it essentially "escaped" the container as it just opened a new window of the host instance of Firefox. It therefore had access to everything on the host machine and the container became useless.
This also works vice versa: If Firefox is not running on the host and I start an instance in the container, it is really running inside the container. If I then start Firefox on the host, the new instance is also running inside the container.
However, I couldn't reproduce this behavior with gvim instead of Firefox.
I am well aware of the security problems inherent with X11 socket sharing, but I cannot explain the scenario I described above. Why can a container start a "process"---or rather a window---outside of its restricted environment? And how is it even possible that my host system starts a process within a container only because the same program is already running inside a container?
(Please note that I didn't know how to call such a graphical instance of a program other than "process", although it's probably not a real process in this case...)
System: Ubuntu GNOME 14.10, Docker 1.5, ubuntu:latest Docker image.
UPDATE: This doesn't happen if I start Firefox using the -new-instance flag, so it seems to be more of a Firefox problem than a X11 socket problem.
UPDATE 2: Seems that this happens in other scenarios as well, for example using ssh with X-forwarding:
https://unix.stackexchange.com/questions/104476/why-starting-firefox-from-command-line-in-vm-starts-the-firefox-in-the-host-ma
and
https://superuser.com/questions/462055/launching-firefox-on-remote-server-causes-local-firefox-to-open-the-page-instead
Now the question is, how the hell does Firefox do this? What kind of X11 sorcery do they use to find out if Firefox is already running?
Because you forward the x11 socket into the container, any graphical program, whether inside the container or outside the container, will be talking to the same Xorg server. This is the same as when using ssh with X-forwarding.
Now let's say that one firefox instance is already started and communicating with that xserver. If we are the second firefox process starting up, we might find that first process by navigating the window tree from the root. We might be able to identify a window belonging to firefox through some properties that it sets on it's windows. Once we found a window belonging to firefox, we might send a message to the process owning that window, asking it to add a new tab.
Perhaps if we find such a process and ask it to open a new tab, we just die off as our job is done.
Of course, we could always just look at the source and find out that indeed firefox does basically this. In particular they:
find an existing window
and then notify it
But they don't notify it with a client message. They do it by changing a window property. Presumably the process that creates the window also subscribes to property change notifications. In case you're curious the full path through the code is:
from parsing the command line, StartRemoteClient
which creats a client (note that they do this over d-bus/wayland also) and then calls SendCommandLine()
which is a virtual function, so find it's override XRemoteClient
and in there you see where it calls the previous two functions linked to FindBestWindow() and then DoSendCommandLine().

No Mouse pointer in CentOs7 with Synergy

I am using Synergy Client in CentOs 7.
This is the problem that CentOs doesn't show mouse pointer when there is no mouse connected to the system.
Every time that I turn on my CentOs machine , I should connect the mouse to the machine otherwise CentOs doesn't show the mouse pointed for Synergy.
Everything is working with Synergy Client (click -right click , ...) but there is no mouse pointed!!!
How can I fix this problem? Synergy Client is running on CentOs 7 (64 bit)
Found the answer in this post: http://synergy-foss.org/osqa/questions/3148/ubuntu-1310-no-cursor-visable-with-synergyc
Fix:
Move the mouse to the system where the mouse pointer is not visible, open the terminal and paste the following command:
gsettings set org.gnome.settings-daemon.plugins.cursor active false
This should resolve the problem for the current session and future sessions.
I used the solution Michael Richmond presented.
Logging in, and with a terminal within that account executing
gsettings set org.gnome.settings-daemon.plugins.cursor active false
however I also wanted the mouse visible at the login window as well. I used this link to figure it out
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/desktop_migration_and_administration_guide/customizing-login-screen
it says to create or edit the gdm profile at /etc/dconf/profile/gdm with the following contents
user-db:user
system-db:gdm
file-db:/usr/share/gdm/greeter-dconf-defaults
I then created a file /etc/dconf/db/gdm.d/01-Cursor
and put the following contents
[org/gnome/settings-daemon/plugins/cursor]
active=false
This essentially sets the same value in config file, but for the gdm login window.
After adding those files, I then executed dconf update to update the current running instance with the config setting.
At this point, I now have the synergy cursor available before and after login.
For some reason, all my LFS VM's defaulted to "USB Tablet" but CentOS VM's defaulted to "PS/2 Mouse". So my guess is the built-in templates (or whatever they are called) have that wrong. When creating a new VM, if I type in "LFS", I get Type "Linux" and Version "Linux 2.6/3.x (64-bit)" but if I type in "CentOS", I get Type "Linux" and Version "Red Hat (64 bit)". So, in my opinion, the "Red Hat (64 bit)" template should be changed to set Pointing Device to "USB Tablet".
some was unexpected at this time.

fluxbox couldn't connect to XServer - CentOS 6.4

I'm setting up some new VNC servers. I already have this setup working with CentOS 6.3, although I'm not certain that this difference is the real problem.
One of the window managers I'm making available is fluxbox, but when I start it, I always get the following: Error: Couldn't connect to XServer. Here's my setup:
fluxbox: fluxbox-1.1.1-5.el6.x86_64
vnc : tigervnc-server-1.1.0-5.el6_4.1.x86_64
OS : CentOS 6.4
Note that I can start other window managers: Gnome, KDE, openbox, xfce4, etc.
I gutted my ~/.vnc/xstartup script so it only loads an xterm. Then, I tried running startfluxbox &, but still got the error. Obviously, VNC is working, since my xterm opened up OK. I can start firefox, another xterm or other app requiring X, and even fluxbox comes up, but it is worthless in its current state, since it is not connected to the X session.
What is fluxbox looking for? Are there some log files I can look at to give me some clues?
Thanks,
David
CentOS/RHEL 6.4 and up have upgraded libX11 and Xorg.
The $DISPLAY var handling has changed in libX11.
This one in particular is described in this git commit:
http://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=f92e754297ec5fdb81068b56a4435026666224fa
we run our fluxbox with this script in our vnc configs now:
/usr/bin/fluxbox -display "$DISPLAY.0"
OK, I think I've figured out the problem, so I'm answering my own question.
In VNC, I usually specify a display number. (Note, however, that the problem occurs even if vncserver uses the first available display number.) So, I start the vncserver as:
vncserver :17
This should create an X session where my $DISPLAY is set to :17.0, but in CentOS 6.4, the $DISPLAY is set to :17 instead. Apparently, unlike other window managers, fluxbox is unable to handle this inaccuracy. The problem, then, was that fluxbox was trying to connect to :17 and was unable to do so.
My solution, as suggested by someone answering a different problem, was to set $DISPLAY as part of the invocation of fluxbox. So, in my ~/.vnc/xstartup file, I have:
DISPLAY=$DISPLAY.0 startfluxbox &
Note that this may not work for other releases of CentOS, so you might wish to test the release of the box you are using before adding the DISPLAY=... setting to the command.

How to run multiple macro instances using Remote Dekstop Connection and Amazon AWS EC2

I am trying to to run multiple Remote Desktop connection instances with Amazon's AWS EC2 and keep a macro file running on each instance via Macro Express (installed separately on each node), but each time I minimize an instance, the the mouse movement of that macro freezes and the process is suspended. Since these macros that I am running rely on specific mouse positioning/movement, is there any way of keeping them running on each instance after I minimize?
Thanks a bunch,
Jake
If you change screen with keyboard than mouse position on previous server will not change.
Not quite what you asked for, but might be helpful enough:
CTRL+ ALT+ ← - switches you to the host computer
CTRL+ ALT+ → - switches you back to the remote computer
Also can help:
Keyboard Shortcuts in Remote Desktop Connection (RDC) for Navigation