Difference between revisions of "VMWare Horizon Client - Dedicated Thin Client"

From Michael's Information Zone
Jump to navigation Jump to search
Line 44: Line 44:
 
wget https://download3.vmware.com/software/view/viewclients/CART17Q1/VMware-Horizon-Client-4.4.0-5167967.x64.bundle
 
wget https://download3.vmware.com/software/view/viewclients/CART17Q1/VMware-Horizon-Client-4.4.0-5167967.x64.bundle
 
./VMware-Horizon-Client-4.4.0-5167967.x64.bundle --eulas-agreed --required
 
./VMware-Horizon-Client-4.4.0-5167967.x64.bundle --eulas-agreed --required
 +
</pre>
 +
==Notes==
 +
From the most awesome technical resource in these projects, Tanner said
 +
<pre>
 +
Okay, I just thought of a much more minimal way to handle this.  Let's systemctl disable gdm and directly modify the getty service to autologin your user at the TTY level.  You'll need to install the Xorg xinit package.  Then in the user's .bash_profile we run startx upon login.  This way you can use xrandr to configure the display in the user's ~/.xinitrc.  Let me break it down:
 +
First we override the getty systemd service with /etc/systemd/system/getty@tty1.service.d/override.conf:
 +
[Service]
 +
ExecStart=
 +
ExecStart=-/usr/bin/agetty --autologin user_name --noclear %I $TERM
 +
 +
Then we add these lines to the end of /home/user_name/.bash_profile:
 +
if [[ -z $DISPLAY ]] && [[ $(tty) = /dev/tty1 ]]; then # Check if we have a display and we're on TTY1
 +
startx
 +
fi
 +
 +
And finally, make /home/user_name/.xinitrc look like this:
 +
xrandr --output HDMI2 --whatever_other_options_you_need --right-of HDMI1
 +
exec openbox # or whatever DE/WM you use
 +
 +
 +
This method will use less resources and IMO XrandR is *much* better at configuring displays than xorg.conf.
 +
Also, I would uninstall the xorg-x11-drv-intel, the modesetting drivers work with intel display thingies just fine
 
</pre>
 
</pre>

Revision as of 12:53, 2 May 2017

With the cost of zero clients being as much as a standard computer, it made more sense to purchase commodity hardware and build from scratch.
This is my endeavor into building a poor man's zero client.

Requirements

  • Audio, Video, and user input must work.
  • USB Redirection must work for webcam usage.
  • The only window the user's see is the Horizon Client.
  • If the client is closed, it must auto-open again.

Install Script

WIP
Still need to work out the automated install of the client (there are two prompts at the end of installation), and the xorg.conf portion to allow for dual monitors without having to sit down at each unit.

##Install packeges
yum -y install epel-release
yum clean all
yum makecache
yum -y update
yum -y install chrony wget yum-cron firewalld fail2ban oddjob oddjob-mkhomedir sssd samba-common realmd bind-utils htop bzip2 nano setroubleshoot setools openbox gdm xorg-x11-* gnome-terminal alsa-utils pcsc-lite-libs-1.8.8-6.el7 glibmm24-2.42.0-1.el7 gstreamer-plugins-base-0.10.36-10.el7 libpng12 libXScrnSaver
##Configure auto-login user and display manager
systemctl enable gdm
systemctl set-default graphical.target
useradd publicuser
mv /etc/gdm/custom.conf /etc/gdm/custom.conf.bak
cat << EOF > /etc/gdm/custom.conf
# GDM configuration storage

[daemon]
AutomaticLogin=publicuser
AutomaticLoginEnable=True

[security]

[xdmcp]

[greeter]

[chooser]

[debug]

EOF
##Install VDI Client
ln -s /usr/lib64/libudev.so.1 /usr/lib64/libudev.so.0
ln -s /usr/lib64/libffi.so.6 /usr/lib64/libffi.so.5
wget https://download3.vmware.com/software/view/viewclients/CART17Q1/VMware-Horizon-Client-4.4.0-5167967.x64.bundle
./VMware-Horizon-Client-4.4.0-5167967.x64.bundle --eulas-agreed --required

Notes

From the most awesome technical resource in these projects, Tanner said

Okay, I just thought of a much more minimal way to handle this.  Let's systemctl disable gdm and directly modify the getty service to autologin your user at the TTY level.  You'll need to install the Xorg xinit package.  Then in the user's .bash_profile we run startx upon login.  This way you can use xrandr to configure the display in the user's ~/.xinitrc.  Let me break it down:
First we override the getty systemd service with /etc/systemd/system/getty@tty1.service.d/override.conf:
[Service]
ExecStart=
ExecStart=-/usr/bin/agetty --autologin user_name --noclear %I $TERM

Then we add these lines to the end of /home/user_name/.bash_profile:
if [[ -z $DISPLAY ]] && [[ $(tty) = /dev/tty1 ]]; then # Check if we have a display and we're on TTY1
startx
fi

And finally, make /home/user_name/.xinitrc look like this:
xrandr --output HDMI2 --whatever_other_options_you_need --right-of HDMI1
exec openbox # or whatever DE/WM you use


This method will use less resources and IMO XrandR is *much* better at configuring displays than xorg.conf.
Also, I would uninstall the xorg-x11-drv-intel, the modesetting drivers work with intel display thingies just fine