Thursday, August 23, 2012

RPi-TC Release 23082012!

A new version is available to download, this is a "today snapshot" of beta/working version in our GitHub repository. It isn't tuned so much, verbose output on boot, /usr isn't squashed and a lot of space is "wasted" for debug tools and library but it's fill in a 2Gb SDCard.
There are a lot of little improvment: new official Kernel 3.2.27 with all the lastest update, ALSA driver, wicd with wireless support instead of NetworkManagement) autoupdate of sshkeys and more.

If you have already tried the Citrix Only Release, you have already see wich kind of "user interface" im using now, just a openbox menù on a lxde x11 session with only the software/conf that end user can use. It's quite easy to understand and you can modify it quickly without rebooting the board or restarting x session.
I'll explain a bit the interface (you can access it by rightclick on desktop), first and most important is the RPi-TC Apps menù:


Here you can find the heart of RPi-TC Project: Citrix Receiver 12.2.3 (same as Citrix Only Release), VMWareView Client 1.5.1 (still in test, pcoip isnt working), Quest vWorkspaces 7.00b1 (same as Release 17072012) and RDesktop 1.7.1.


Into the second menù you can find other useful app like the FileBrowser, shell console and IceWeasel browser (already integrated with Citrix plugin).


Configurations menù is new, and allow you to customize the Network wired/wireless configuration (wicd gtk interfare for LXDE), the Desktop Settings (theme, colors, backgroud etc etc), the windows settings (for the file browser). "Change This Menu" open the configuration file of the menù, so if you want to change something or you need to remove some options or whatever you need, you can do it!
"Reload Menu File" simple reload the menu configuration if you have modified it.
For example, RDesktop don't have an graphical interface and it must start via console, so in the menù file just modify this line:
<item label="RDesktop 1.7.1">
    <action name="Execute"><command>lxterminal -e "rdesktop -x l -z -u UserName -f -P -r disk=/media/usb -d MyDomain MyRDPServer.MyDomain.Lan"</command></action>

</item>
with your connection details, save the file and then click on Reload Menu Files. If you want to use xFreeRDP instead of RDesktop, just replace (or add) something like:
<item label="xFreeRDP 1.0.1">
    <action name="Execute"><command>lxterminal -e "xfreerdp -x l -a 32 --rfx -u UserName --no-nla -f
MyRDPServer.MyDomain.Lan"</command></action>
</item>
As before, save the menu file and click on Reload Menu Files. Easy!
After download extract the .img file and burn it on SDCard with the software you like.

Update: uploaded on mediafire, go in download page for the url

47 comments:

  1. I love this explanation thank you so much for all the hard work.
    Is there still issues with the VMware view client?
    Last time i checked it it would connect but then after i select the desktop i wanted to use it will try to open it and then go back to the selection menu.
    I know it works on my Ubuntu machine and also on any other device.

    Thank again for all your time.

    ReplyDelete
    Replies
    1. PCoIP isn't working ATM... im trying to find the missing lib :(

      Delete
    2. Thanks for the reply I cant wait for it to work.
      Thank you for all the hard work once PCoIP will work it will be amazing.

      Delete
  2. Also it would be really cool if it can have remmina which is a front end to xfreerdp
    Here is the URL for the project
    http://remmina.sourceforge.net/

    ReplyDelete
    Replies
    1. I removed Remmina in the last release :)
      But if you want to use it, just apt-get install remmina in a lxterminal console then modify the menu file and add (or replace) an entry like this:

      remmina

      Delete
  3. hey thanks for the nice distro!
    one question: how do i hide the boot messages?
    i'd like to use some jpg logo instead. thanks again!

    ReplyDelete
    Replies
    1. to hide some boot messages you can add "quite" (without quotes) to the bootargs params under /boot/cmdline.txt file.
      To change the boot logo you have to recompile the kernel

      Delete
    2. do you have some more info how exactly this boot logo enabling can be achieved? i would really appreciate your hints. tried to google but couldn't find any relevant info. does it have to be enabled somewhere in the menuconfig?
      maybe i wasn't entirely clear. what i want is that during booting there are no messages, just some picture (animation)

      Delete
    3. You can use Plymouth (http://en.wikipedia.org/wiki/Plymouth_%28software%29) or BootSplash.
      Or if you want to make something cool you can make a H264 video then use the raspberry VideoCore library (http://elinux.org/RPi_VideoCore_APIs) to create a shell script to execute it, then push it in the first service init.d execute and loop it for 20seconds :)
      You can test it easy using the /opt/vc/src/hello_pi/hello_video bunny example, funny!

      Delete
  4. i assume you meant "quiet" instead of "quite" :)
    btw i'm having problems with squashfs.
    mksquashfs /usr dies at 60%, it says "Killed"

    ReplyDelete
    Replies
    1. did you try directly from the RPi? I allways do mksquashfs from a linux pc.

      Delete
    2. yes directly. but after i killed the X server, it finished ok. probably not enough resources and the process times out.

      Delete
  5. Hey. Thanks for all the hard work on this. Everything is working great except I cant get citrix applications to run in full screen mode. It seems that anything I change in the window options does nothing. Is there something I am missing?

    ReplyDelete
    Replies
    1. Yes, i remember Colin ask me the same thing, i didn't know if he find the solution. I didn't have an citrix environment to make some test :(

      Delete
    2. I think I may have figured it out, but since I dont have a proper converter I cant test it. Citrix doesnt like resolutions above 1600x1200. At least mine doesnt. I tested it on other devices and found the same issue if the resolution is greater than that. Ill let you know if I find another fix!

      Delete
  6. Excellent work on this and like the rdesktop performance. Just one question regarding the autostart...We currently see the readme file popup and I would like to replace it with an rdesktop command but can't find where you run that from.

    Any suggestion most appreciated!

    ReplyDelete
    Replies
    1. x is handled by LXDE, so if you want to remove or add some script/software to start automatically when openbox start you have to modify this file:
      /etc/xdg/lxsession/LXDE/autostart
      comment the @leafpad /root/README
      and add the rdesktop line

      Delete
    2. Ahhh! well hidden...thank you :) but not much luck in getting a rdesktop session to start...tried a combination of @rdesktop and @lxterminal -e commands but nothing appears...

      Delete
    3. Also tried a .desktop file (which works ok when clicked) in /etc/xdg/autostart and /.config/autostart with no luck...

      Delete
    4. rdesktop needs additional arguments like ip of the remote client etc

      Delete
    5. It's seem to be simple but... there is a bug in the LXDE lxterminal -e options, you have to use instead lxterminal --command. But it isn't enough, rdesktop won't start at boot because the network is down. I explain a bit, when wicd service(the network manager) start, it's put down/up the network interface 2 times when you are in the openbox/LXDE graphical interface (you can see the leds off and on sometime booting the board).
      This will not happen with Network-Manager.
      So you have to add some kind of procedure to wait until the network service finish to load completely.
      To do that i have create this script (/root/rdesktop.sh):
      #!/bin/bash
      sleep 7
      /usr/bin/rdesktop -x l -z -u MyUsername -f -p MyPassword -d MyDomain.lan Servername.MyDomain.lan

      Then on /etc/xdg/lxsession/LXDE/autostart i added this line:
      @lxterminal --command "/root/rdesktop.sh"

      It's very ugly but works.

      Delete
    6. You Sir are a legend! I was trying the --command as well but with similar results so will go ugly!!! Many thanks again!

      Delete
  7. one question:
    why is the 256MB memory split 240/16?
    is 16MB enough for the video part? i find it quite slow.
    i'm trying with 192/64 and it seems a bit smoother (rdesktop - document scrolling)

    the audio quality is totaly unusable, all i hear is crackling.

    ReplyDelete
    Replies
    1. You're right, i have just putted 240/16 because my main use of RPi-TC is debugging and testing package.
      But yes, i have try it, and 192/64 is a better choice for end users. Also because RPi-TC don't use too much ram.
      Thanks for the tip!

      Delete
    2. and what about the audio? have you experienced such problems?
      when i try to play some mp3 locally (mpg123), it's ok.
      but when it try via rdesktop, it's a big mess.
      same problems with video.
      those linux rdp clients are far behind being perfect.

      Delete
    3. Yes, redirected audio is painful. I'll install an W2K8 R2 SP1 environment on a pc to test RemoteFX video/audio quality over xfreerdp

      Delete
    4. i'm having problems with xfreerdp, the colors look like inverted

      Delete
    5. https://github.com/FreeRDP/FreeRDP/issues/297

      Delete
    6. Im quite new to linux, so it took me some time to install your software. But now it works

      RDP session lags terribly. Im connecting via rdesktop and xfreerdp on win8 client. Any suggestions?!

      I have not tried remoteFx so far. Would be interessting on how fast it will get ;)

      Delete
    7. gibbio, what does your link mean? do i have to clone the newest freerdp source from github and compile it? any hints?
      thanks!

      Delete
    8. Yes, you have to recompile it, I'll try to crosscompile it from my linux pc, and use the binary in the raspberry board. There are LOT of improvement in the github version...
      I have try to compile it directly from the board but it's take lot of time... to install all the cmake/build essential dependencies.

      Delete
    9. is there any way to compile it for armhf? i have found just some howto article for armel. i'm not very good at this cross compiling stuff so don't know how to do this for armhf.

      Delete
  8. how do you set the cpu/gpu split as when running this:

    cp /boot/arm128_start.elf /boot/start.elf

    its not there?

    also how do you get the desktop back to the 'desktop' with the taskbar on the bottom like on the 17072012 release?

    thanks

    ReplyDelete
    Replies
    1. root@rpitc:~# cp /boot/arm192_start.elf /boot/start.elf
      cp: cannot stat `/boot/arm192_start.elf': No such file or directory


      ??

      Delete
    2. arm128 - google for that file, or download raspbian distribution and copy the file.
      taskbar - edit autostart, put lxpanel in it. google autostart lxpanel.

      Delete
    3. Yes, all the .bin and .elf files is taken from the official raspberry github repo here: https://github.com/raspberrypi/firmware/tree/master/boot
      You can use it without problem.
      To go back to LXDE standard interface you can edit this file:
      /etc/xdg/lxsession/LXDE/autostart
      and put:
      @lxpanel --profile LXDE
      @pcmanfm --desktop --profile LXDE

      Delete
    4. As per https://github.com/raspberrypi/firmware/tree/master/boot
      You now edit /boot/config.txt to get different mem split

      Delete
  9. Hi, I'd like to use RPiTC but does it support PPTP VPN? I need to make a PPTP VPN connection before I can RDP/RDC to a Windows machine.

    ReplyDelete
    Replies
    1. Yes sure, you can follow this howto: http://pptpclient.sourceforge.net/howto-debian.phtml

      Delete
  10. i have been trying to follow your post on how to auto start and rdp session with the rdesktop.sh script and the auto start file all the commands seem to work in the lxterminal window but when the system reboot all i get is a terminal window. it seems like the command to load the sh file is not working. can you help?

    ReplyDelete
    Replies
    1. the problem is in the network service, if you use network-manager istead of wicd everything is ok.
      I have tested lastest release (17092012) in this way:
      added:
      @lxterminal --command "/root/rdesktop.sh"
      in
      /etc/xdg/lxsession/LXDE/autostart

      rdesktop.sh is:
      #!/bin/bash
      sleep 7
      /usr/bin/rdesktop -x l -z -u MyUsername -f -p MyPassword -d MyDomain.lan Servername.MyDomain.lan

      Alternatively you can use xinit to autostart rdesktop session.

      Delete
    2. I had the same problem but all it needs is more time. Try to add 15 instead of 7.

      Delete
  11. Hello,

    I'm french and i found your kernel amazing :).
    Just to know, is it possible to add french keyboard layout on the rasberry (by default) and also in rdesktop ?

    Thx for your support.

    ReplyDelete
    Replies
    1. thanks :)
      just shot a "dpkg-reconfigure keyboard-configuration" on a lxterminal to set the default keyboard layout. Normally rdesktop take the default keyboard. Or if you want to specify a different keyb layout on rdesktop just use the -k options in the rdesktop comman line, for ex: -k en-us or -k fr

      Delete
  12. Hello,

    i have a problem with the network connection.
    I'm trying to setup a Raspberry PI Model B
    i use a fixed ip on eth0.
    after a few transmitted packets the connection drops and i have to restart the eth0 interface.
    I have tested the actual Image and the Citrix only Image. All with the same behavior.
    If I use a raspberry standard Image, i dont have this issue.

    Has anybody some suggestions ???

    Thaks a lot for your help...

    ReplyDelete
  13. Good Day

    How can i set rpi thin client to use static ip?

    ReplyDelete