Suggestions for a Dual Monitor Citrix Web Kiosk build
by jackthemoo from LinuxQuestions.org on (#5JP1N)
Short Version:
Looking for suggestions on a build for a Citrix Kiosk. Using HP T7540 (32-bit system), system should boot up, auto log-in, launch firefox (aimed at Citrix log-in page). The user should have access to nothing else other than the web browser. The user logs in, the citrix session launches, and the session spans across two monitors (if present of course). I have seen each of these aspects implemented in some way using a linux build, now I'm just trying to piece it all together.
Backgroud:
I have ~20 HP T5740's running windows XP. The citrix receiver ica client and the system in general has become very dated and are in need of an upgrade. I was able to get a build somewhat working, but I did not document enough to be able to replicate it. Here is some of what I have figured out so far.
The only way I have been able to successfully install anything ubuntu related is by using the ubuntu server installer. (ubuntu-16.04.6-server-i386.iso). Desktop installations would never make it past the first menu. Once the server is installed, grub fails to properly boot the system. From here, I boot ubuntu server in recovery mode. Next, I install a desktop environment which typically I have been choosing the lubuntu-desktop package due to its performance and the old hardware I am using can't handle anything else. I reboot again to bring up the desktop, again having to boot in recovery mode because of the grub issue. Finally with lubuntu-desktop installed, I install the grub-customizer package. I modify the default boot command by adding "dis_ucode_ldr" to the end of the line that starts with the "linux" command. It looks like linux /boot/vmlinuz-4.4.0-142-generic root=UUID=xxxxxxxx-xxxx-xxxx-xxxxxxxxxxxx ro dis_ucode_ldr
I have no idea what this is doing, but it allows the system to boot and with the proper graphics drivers to display in full resolution. I reboot the system to check that this works, and then using the included display settings I set up a second monitor as an extended display.
Now that I have a desktop, I need to set up the Citrix ica client. I download and install the citrix for linux package (icaclientWeb_13.10.0.20_i386.deb). I head over to our internal Citrix Login site, I log in and once the session launches, I am unable to span the session across both monitors. This is the current situation I am in.
The mess of a linux build that I discussed earlier was able to get the session to span across two monitors, unfortunately I have no clue what I had adjusted to make this happen. I don't recall ever adjusting anything within the ica client settings, it just happened to work at one point.
Through my search for a solution, I came across a nearly flawless pre-build named Porteus-Kiosk. This build checked every box I was looking for, built in ica client, auto login, tight restrictions to the system, and blazing fast on this old hardware. The only problem? Not just the Citrix session but the entire "OS" if you'd call it that display to only one monitor. Commands such as xrandr don't even recognize that a second monitor is plugged in.
My hopes for using this build have hit a major barrier. The build utilizes .xzm files to "build" the file system at each start up. So the only way to make changes to the system is to rip apart the .iso file and I would guess place what you want exactly where it needs to go. A few blind guesses at copying X11 folders and drivers and I've gotten nowhere. So unless I can find a crash-course on building .xzm modules, this build is likely just a giant tease.
So from here, my guess it that I will have to stick to what my current build is. A slightly configured boot into ubuntu-server with likely lubuntu-desktop thrown on top. Even though the user will have no use for the tools included in the desktop environment, it's just what I have gotten to so far.
If anyone has suggestions other than this, feel free to throw them over. I have tried to mess with numerous "light distros" but this current build I am using has come the closest.
From here, I am looking to do the following.
- Lock down the system
= The user should have access to nothing except for the Firefox browser
- Auto log-in to this restricted account
- Allow NO changes to any of the system settings/configs from this restricted account
- Get Citrix to span multiple monitors
I can provide any information and outputs if needed if that makes any guidance offered easier!
Thank you!
Looking for suggestions on a build for a Citrix Kiosk. Using HP T7540 (32-bit system), system should boot up, auto log-in, launch firefox (aimed at Citrix log-in page). The user should have access to nothing else other than the web browser. The user logs in, the citrix session launches, and the session spans across two monitors (if present of course). I have seen each of these aspects implemented in some way using a linux build, now I'm just trying to piece it all together.
Backgroud:
I have ~20 HP T5740's running windows XP. The citrix receiver ica client and the system in general has become very dated and are in need of an upgrade. I was able to get a build somewhat working, but I did not document enough to be able to replicate it. Here is some of what I have figured out so far.
The only way I have been able to successfully install anything ubuntu related is by using the ubuntu server installer. (ubuntu-16.04.6-server-i386.iso). Desktop installations would never make it past the first menu. Once the server is installed, grub fails to properly boot the system. From here, I boot ubuntu server in recovery mode. Next, I install a desktop environment which typically I have been choosing the lubuntu-desktop package due to its performance and the old hardware I am using can't handle anything else. I reboot again to bring up the desktop, again having to boot in recovery mode because of the grub issue. Finally with lubuntu-desktop installed, I install the grub-customizer package. I modify the default boot command by adding "dis_ucode_ldr" to the end of the line that starts with the "linux" command. It looks like linux /boot/vmlinuz-4.4.0-142-generic root=UUID=xxxxxxxx-xxxx-xxxx-xxxxxxxxxxxx ro dis_ucode_ldr
I have no idea what this is doing, but it allows the system to boot and with the proper graphics drivers to display in full resolution. I reboot the system to check that this works, and then using the included display settings I set up a second monitor as an extended display.
Now that I have a desktop, I need to set up the Citrix ica client. I download and install the citrix for linux package (icaclientWeb_13.10.0.20_i386.deb). I head over to our internal Citrix Login site, I log in and once the session launches, I am unable to span the session across both monitors. This is the current situation I am in.
The mess of a linux build that I discussed earlier was able to get the session to span across two monitors, unfortunately I have no clue what I had adjusted to make this happen. I don't recall ever adjusting anything within the ica client settings, it just happened to work at one point.
Through my search for a solution, I came across a nearly flawless pre-build named Porteus-Kiosk. This build checked every box I was looking for, built in ica client, auto login, tight restrictions to the system, and blazing fast on this old hardware. The only problem? Not just the Citrix session but the entire "OS" if you'd call it that display to only one monitor. Commands such as xrandr don't even recognize that a second monitor is plugged in.
My hopes for using this build have hit a major barrier. The build utilizes .xzm files to "build" the file system at each start up. So the only way to make changes to the system is to rip apart the .iso file and I would guess place what you want exactly where it needs to go. A few blind guesses at copying X11 folders and drivers and I've gotten nowhere. So unless I can find a crash-course on building .xzm modules, this build is likely just a giant tease.
So from here, my guess it that I will have to stick to what my current build is. A slightly configured boot into ubuntu-server with likely lubuntu-desktop thrown on top. Even though the user will have no use for the tools included in the desktop environment, it's just what I have gotten to so far.
If anyone has suggestions other than this, feel free to throw them over. I have tried to mess with numerous "light distros" but this current build I am using has come the closest.
From here, I am looking to do the following.
- Lock down the system
= The user should have access to nothing except for the Firefox browser
- Auto log-in to this restricted account
- Allow NO changes to any of the system settings/configs from this restricted account
- Get Citrix to span multiple monitors
I can provide any information and outputs if needed if that makes any guidance offered easier!
Thank you!