Mohammad Haseeb’s Blog | Tabinda.net is Mohammad Haseeb’s online Portfolio

Hi Everyone,

The title says it all. This is for people who use their monitor with the Playstation3 and especially for those, who develop using the PS3. Now, I have a single monitor where I have both my PS3 and my computer attached through a Tuner and a VGA connection respectively. Starting development with the PS3 and not having my LAN and computer around would have created so many problems for me. Furthermore, I already have a jungle of wires behind my PC cabinet and I did not want to add a KVM switch and two more hardware peripherals for the PS3. I needed a software solution to this and Remote Desktop/VNC would not do it for me, since my PS3 is already connected physically to my monitor. This is where this amazing app called “Synergy” comes into play.

What is Synergy?
Synergy is a software KVM switch. If you do not know what a KVM switch is, you can read this article. A typical KVM switch allows you to use a single set of hardware devices to work with two or more machines, which can be on different Operating Systems. You can learn more about Synergy on its homepage here. I don’t want to explain all that here, since they can explain it way better than I can.

Requirements:

You will need to have the following things in order for this setup to work:

– PS3 connected to a network/internet.
– PC connected to the same network or the internet.
– Synergy installer for WindowsOSXLinuxPS3 YDL 6

Downloading the installers depends entirely on your selection. I was unable to find a later release for Synergy 1.3.1 for YDL 6. However, I might compile one on my own and upload it here (I am not making any promises :P ).

From here on, you can follow the official Synergy guide:

Step 1 – Choose a server
The first step is to pick which keyboard and mouse you want to share. The computer with that keyboard and mouse is called the “primary screen” and it runs the synergy server. All of the other computers are “secondary screens” and run the synergy client.

Step 2 – Install the software

Second, you install the software. Choose the appropriate package and install it. For example, on Windows you would run SynergyInstaller. You must install the software on all the computers that will share the mouse and keyboard (clients and server). On OS X you’ll just have a folder with some documentation and two programs. You can put this folder anywhere.

Step 3 – Configure and start the server

Next you configure the server. You’ll tell synergy the name of the primary and secondary screens, which screens are next to which, and choose desired options. On Windows there’s a dialog box for setting the configuration. On other systems you’ll create a simple text file.

Note that when you tell synergy that screen A is to the left of screen B this does not imply that B is to the right of A. You must explicitly indicate both relations. If you don’t do both then when you’re running synergy you’ll find you’re unable to leave one of the screens.

Windows
On Windows run synergy by double clicking on the synergy file. This brings up a dialog. Configure the server:

* Click the Share this computer's keyboard and mouse (server) radio button* Click the Screens & Links Configure... button* Click the + button to add the server to the Screens listo Enter the name of server (the computer's name is the recommended name)o Optionally enter other names the server is known byo Click OK* Use the + button to add your other computerso Using a computer's name as its screen name is recommendedo Choose desired screen options on the Add Screen dialog* Use the controls under Links to link screens togethero Click (once) on the server's name in the Screens listo Choose the screen to the left of the server; use --- if there is no screento the left of the servero Choose the screens to the right, above and below the servero Repeat the above steps for all the other screens* Click OK to close the Screens & Links dialog* Use Options... to set desired options* If the server's screen name is not the server's computer name:o Click Advanced...o Enter the server's screen name next to Screen Nameo Click OK

Now click Test. The server will start and you’ll see a console window with log messages telling you about synergy’s progress. If an error occurs you’ll get one or more dialog boxes telling you what the errors are; read the errors to determine the problem then correct them and try Test again. See Step 5 for typical errors.

Unix or Mac OS X
Create a text file named synergy.conf with the following:

section: screensscreen1:screen2:endsection: linksscreen1:right = screen2screen2:left = screen1end

Replace each occurrence of screen1 with the host name of the primary screen computer (as reported by the hostname program) and screen2 with the host name of a secondary screen computer. In the above example, screen2 is to the right of screen1 and screen1 is to the left of screen2. If necessary you should replace right and left with left, right, up, or down. If you have more than two computers you can add those too: add each computer’s host name in the screens section and add the appropriate links. See the configuration guide for more configuration possibilities.

Now start the server. Normally synergy wants to run “in the background.” It detaches from the terminal and doesn’t have a visible window, effectively disappearing from view. Until you’re sure your configuration works, you should start synergy “in the foreground” using the -f command line option.

On unix type the command below in a shell. If synergys is not in your PATH then use the full pathname.

synergys -f --config synergy.conf

On OS X open Terminal in the Utilities folder in the Applications folder. Drag the synergys program from the synergy folder onto the Terminal window. The path to the synergys program will appear. Add the following to the same line, type a space at the end of the line but don’t press enter:

-f --config

Now drag the synergy.conf file onto the Terminal window and press enter. Check the reported messages for errors. Use ctrl+c to stop synergy if it didn’t stop automatically, correct any problems, and start it again.

The Client

Ok, I am not going to go over configuring different clients in this post, since we are only concerned with Yellow Dog Linux. However, if you still want to do that, you can read about it on their homepage. This is where the tricky part starts. Configuring the PS3 for Synergy turned out to be way more difficult than I imagined. This was not because of Synergy itself but because the PS3′s network configuration kept breaking all the time. I am going to make a seperate post about that, so let’s move on to configuring it.

First install the Synergy RPM that you downloaded from link in the earlier part of this post. You need to make sure that you are connected to the internet for the RPM to install correctly. Once you install it, you can test if synergy can connect to your server by typing:

synergy -f

For example, I did:

synergy -f 192.168.1.2

AutoStarting Synergy with YellowDog Linux

All of this won’t be of any use until this setup always runs automatically whenever we start YDL on the PS3. So firstly, you need to configure your Server to AutoStart Synergy everytime it boots. To configure that, you can follow their official guide on this page.

Synergy requires an X server. That means a server must be running and synergy must be authorized to connect to that server. It’s best to have the display manager start synergy. You’ll need the necessary (probably root) permission to modify the display manager configuration files. If you don’t have that permission you can start synergy after logging in via the .xsession file.

Typically, you need to edit three script files. The first file will start synergy before a user logs in, the second will kill that copy of synergy, and the third will start it again after the user logs in.

The files we need to edit are:

gdm/Init/Defaultgdm/PostLogin/Defaultgdm/PreSession/Defaultgdm/PostSession/Default

You need to be logged in as root to perform the steps below. Open up a terminal and type:

su -

Enter the root password when it asks you to. Now navigate to the following directory:

cd /etc/gdm

Then Type

gedit Init/Default

you need to write the following lines into the file. You should write them somewhere on the top of this file:

/usr/bin/killall synergycsleep 1/usr/bin/synergyc

Save it and then open the next file using gedit and enter the following lines into it. Note that this file may be called, Default.sample and you will need to rename it to make it work. It might be empty as well.

gedit /PostLogin/Default

and enter the following lines

/usr/bin/killall synergycsleep 1

You need to enter the following lines in the next two files at gdm/PreSession/Default and gdm/PostSession/Default.

/usr/bin/killall synergycsleep 1/usr/bin/synergyc

Save all the files and verify the changes. Logout and restart the client and once you get past booting screen, you will notice that you can now switch between the server and client screens. The server should also display that the client is connected now. This setup will work for all users but you always need to make sure that your server is running.

So, there you have it.

Regards,
M.H.A.Q.S.