Export X from server to local system

Every now and then I have to verify a graphical application running on the remote server. That must be done via graphical output, no way to do it from the command line.

For those scenarios I usually export the X from the remote interface to my local workstation. That can be done simply by issuing:

ssh -X -C -c blowfish <username>@<remote-server>

From the ssh man page:

-X:
     Enables X11 forwarding. (X11 forwarding should be enabled
     with caution. Read the man page);
-C:
    Requests compression of all data;
-c cipher_spec:
    Selects the cipher specification for encrypting the session.
    The supported values are “3des”, “blowfish”, and “des”.

<EDIT>
Using a remote connection to a xenial ppc64el server from a Fedora24, I got the following error:

Unable to negotiate with <server>: no matching cipher found. 
Their offer: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,
aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com

Adding blowfish-cbc (taken from the openssh man page) to the ssh_config files did not “blow it away” though. So to get rid of the error I simply removed the ‘blowfish‘ cipher type, and left the task to the system.
</EDIT>

After getting access you won’t notice any difference, for the result is the same as as regular ssh connection. The difference relies on the behavior when you run a graphical application from the CLI. Here I am running HardInfo in the remote system as an example:

hardInfo_3.png

Graphical interface being exported to a local workstation from a remote Ubuntu ppc64el system.

Please read the ssh man page carefully to get clearer all security considerations and get advantage of the X exporting when running graphical applications.

Have a nice day.

Eclipse based engine for ppc64el programming

IBM Software Development Kit for Linux on Power (IBM-SDK-LOP) is a flavor of the Eclipse IDE customized for ppc64el programming. It allows every developer to create applications for POWER architecture straight from their personal desktops.

It brings the Migration Advisor plugin, created to help port code from x86_64 to ppc64el, Source Code Analyzer, and several profiles from IBM and the community, such as CPI and FDPR.

Users can also take full advantage of the development power of the SDK engine by using the IBM Advance Toolchain compiler, also freely distributed.

In case you want to give them a try, follow the steps described below.

  1. Configure the IBM Advance Toolchain compiler repository by downloading
    and importing the gpg public key:
   $ wget ftp://public.dhe.ibm.com/software/server/iplsdk/v1.9.0/packages/deb/repo/dists/trusty/B346CA20.gpg.key

   $ sudo apt-key add B346CA20.gpg.key

2. Add the following line to /etc/apt/sources.list file:

On amd64:
 deb [arch=amd64] ftp://public.dhe.ibm.com/software/server/iplsdk/v1.9.0/packages/deb/repo trusty sdk

On ppc64el:
 deb ftp://public.dhe.ibm.com/software/server/iplsdk/v1.9.0/packages/deb/repo trusty sdk

3. Update your repos:

   $ sudo apt-get update

4. Install the IBM SDK for Linux on Power:

   $ sudo apt-get install ibm-sdk-lop

axi-cache: an alternative to apt-cache

Apt-cache search is a fairly known tool to search packages for your Ubuntu system. It collects information about available packages in the repositories for installation.

Nevertheless, a less known tool is axi-cache search. More verbose than apt-cache, this neat tool gives you more details about the packages you might be looking for. In the below example I search gtk+2.0 using axi-cache search.

For a more detailed information and comparison between apt-cache and axi-cache, you can visit the Debian Administrator’s Handbook and share your own experience in the comments.

Usage: axi-cache search <package-name>

$ axi-cache search gtk+2.0
23 results found.
Results 1-20:
100% gtk-chtheme - GTK+ 2.0 theme changer and previewer utility
93% libhippocanvas-1-0 - a GTK+2.0 canvas library
93% libhippocanvas-dev - a GTK+2.0 canvas library
88% bitstormlite - BitTorrent Client based on C++/Gtk+2.0
79% libcaribou-gtk-module - Configurable on screen keyboard with scanning mode (GTK+ 2.0 module)
79% pike7.8-gtk - GTK+ 2.0 module for Pike
76% gtk2-engines-wonderland - Wonderland theme for GTK+-2.0
75% gir1.2-gtk-vnc-2.0 - GObject introspection data for GTK-VNC.
71% libgtksourceview2-2.0-cil - CLI binding for GtkSourceView 2.2
70% libgtk-vnc-2.0-0 - VNC viewer widget for GTK+3 (runtime libraries)
67% uim-gtk2.0 - Universal Input Method - GTK+2.x front end
66% libgtk-vnc-2.0-0-dbg - VNC viewer widget for GTK+3 (debugging symbols)
66% libspice-client-gtk-2.0-dev - GTK2 widget for SPICE clients (development files)
65% libgtk-vnc-2.0-dev - VNC viewer widget for GTK+3 (development files)
65% libspice-client-gtk-2.0-4 - GTK2 widget for SPICE clients (runtime library)
65% gir1.2-spice-client-gtk-2.0 - GTK2 widget for SPICE clients (GObject-Introspection)
64% python-hippocanvas - Python bindings to hippo-canvas
54% libgnome2-vfs-perl - Perl interface to the 2.x series of the GNOME VFS library
50% gir1.2-gtk-2.0 - GTK+ graphical user interface library -- gir bindings
49% libgnome2-perl - Perl interface to the GNOME libraries
Did you mean: gtk++1.0 ?
More terms: gtk2 this hippo widget mugshot canvas libspice
More tags: 
`axi-cache more' will give more results