X server
That section contains SOME useful information about X servers.
Solaris: trying to make dtlogin to use /tmp/.Xauthority.$LOGNAME
NOT in /etc/X11 (/etc/X11/gdm/gdm.conf was changed, then /etc/X11 was renamed, no effects)
ERROR FILE /var/dt/Xerrors !!!
some files copied from /usr/dt/config to /etc/dt/config, file Xconfig was modified, effects:
Dtlogin*environment: XAUTHORITY=/tmp/.Xauthority.$LOGNAME Dtlogin*userAuthDir: /tmp
But now cannot login from console, and .Xauthority still created in HOME directory.
File /etc/dt/config/Xservers calls /usr/X11/bin/Xserver which is script. For arch=sun4 it calls /usr/openwin/bin/Xsun (hide it, error reported).
??? It looks like has configs in /usr/openwin/server/etc, or can be copied to /etc/openwin/server/etc ?
clon04: /etc/X11/gdm/gdm.conf set /tmp
GOOD ~clasrun/.dt/startlog:
--- Tue Jan 6 15:25:13 EST 2009 --- /usr/dt/bin/Xsession starting... --- starting /usr/dt/bin/dthello & --- starting /usr/openwin/bin/speckeysd --- Xsession started by dtlogin --- starting /usr/dt/bin/dtsession_res -load -system --- sourcing /home/clasrun/.dtprofile... clon00.jlab.org being added to access control list clon01.jlab.org being added to access control list clon02.jlab.org being added to access control list clon03.jlab.org being added to access control list clon04.jlab.org being added to access control list clon05.jlab.org being added to access control list clon06.jlab.org being added to access control list clon10.jlab.org being added to access control list --- sourcing /usr/dt/config/Xsession.d/0010.dtpaths... --- sourcing /usr/dt/config/Xsession.d/0015.sun.env... --- sourcing /usr/dt/config/Xsession.d/0020.dtims... --- sourcing /usr/dt/config/Xsession.d/0030.dttmpdir... --- sourcing /usr/dt/config/Xsession.d/0040.xmbind... --- sourcing /usr/dt/config/Xsession.d/1001.swupnot... --- sourcing /usr/dt/config/Xsession.d/1099.br... /usr/dt/bin/Xsession[624]: /var/tmp/brlog: cannot create --- starting /usr/dt/bin/dtsearchpath --- starting /usr/dt/bin/dtappgather & --- starting /usr/dt/bin/dsdm & --- session log file is /dev/null --- DTSOURCEPROFILE is 'true' (see /home/clasrun/.dtprofile) --- execing /usr/dt/bin/dtsession with a /bin/tcsh login shell ... --- starting desktop on /dev/pts/5 - .login starting -
-
- start /usr/local/clas/release/current/clon/common/scripts/clasrun.alias -
- finish /usr/local/clas/release/current/clon/common/scripts/clasrun.alias -
-
-
- start /usr/local/clas/release/current/clon/common/scripts/complete.tcsh -
- finish /usr/local/clas/release/current/clon/common/scripts/complete.tcsh -
-
-
- .login has been executed -
-
- Welcome to the CLAS online run account on Tue Jan 6 15:25:14 EST 2009
-
-
/usr/dt/bin/ttsession[24761]: starting
Notification Application cannot run: User is not running in the GNOME environment.
bla
xdm ? make /usr/openwin/lib/xdm ???
DisplayManager.DISPLAY.userAuthDir When xdm is unable to write to the usual user authori- zation file ($HOME/.Xauthority), it creates a unique file name in this directory and points the environment variable XAUTHORITY at the created file. It uses /tmp by default.
SETUP PROGRAM The Xsetup file is run after the server is reset, but before the Login window is offered. The file is typically a shell script. It is run as root, so should be careful about secu- rity. This is the place to change the root background or bring up other windows that should appear on the screen along with the Login widget. In addition to any specified by DisplayManager.exportList, the following environment variables are passed: DISPLAY the associated display name PATH the value of DisplayManager.DISPLAY.systemPath SHELL the value of DisplayManager.DISPLAY.systemShell XAUTHORITY may be set to an authority file Note that since xdm grabs the keyboard, any other windows will not be able to receive keyboard input. They will be able to interact with the mouse, however; beware of poten- tial security holes here. If DisplayManager.DISPLAY.grabServer is set, Xsetup will not be able to connect to the display at all. Resources for this program can be put into the file named by DisplayManager.DISPLAY.resources.
STARTUP PROGRAM The Xstartup file is typically a shell script. It is run as root and should be very careful about security. This is the place to put commands which add entries to /etc/utmp, mount users' home directories from file servers, display the mes- sage of the day, or abort the session if logins are not allowed. In addition to any specified by DisplayManager.exportList, the following environment variables are passed: DISPLAY the associated display name HOME the initial working directory of the user USER the user name PATH the value of DisplayManager.DISPLAY.systemPath SHELL the value of DisplayManager.DISPLAY.systemShell XAUTHORITY may be set to an authority file No arguments are passed to the script. Xdm waits until this script exits before starting the user session. If the exit value of this script is non-zero, xdm discontinues the ses- sion and starts another authentication cycle.
Solaris CDE
We are running it on Sparc-based workstations. When istalling from scratch, copy /usr/dt/config/Xservers to /etc/dt/config/ (create that directory first) and modify to enforce multiple screen support. See backgroud information at copy from Sun site about CDE.
What was learned during last struggle on October 27, 2007:
- first, create directory /etc/dt/config and copy there file /usr/dt/config/Xservers
- after new video card was installed, or old card was removed, reboot with command
reboot -- -r
- to see all available graphic cards type command
fbconfig -list Device-Filename Specific Config Program --------------- ----------------------- /dev/fbs/pfb0 not configurable /dev/fbs/pfb0a not configurable /dev/fbs/pfb0b not configurable /dev/fbs/pfb1 SUNWpfb_config /dev/fbs/pfb1a SUNWpfb_config /dev/fbs/pfb1b SUNWpfb_config /dev/fbs/m640 SUNWm64_config
('not configurable' cards were installed once but then removed, they are not in a system anymore). In shown list device /dev/fbs/pfb1 is not real device, you should use /dev/fbs/pfb1a and /dev/fbs/pfb1b instead. You can use aliases, for example in our case command
ll /dev/fb4
will show
/dev/fb4 -> fbs/pfb1a
which is link to the real device.
- if several displays are connected to the system, adjust /etc/dt/config/Xservers file, for example for clon03 (3 monitors) it look as following:
:0 Local local_uid@console root /usr/X11/bin/Xserver :0 -nobanner -dev /dev/fb6 left -dev /dev/fb4 right -dev /dev/fb5 top
(the position of next monitor defined relatively to previous one). If you want to learn more about Xserver parameters, command
X -help
will show all possible options.
- to restart X server, type
/etc/init.d/dtlogin stop
then login as root from non-graphic prompt and type
/etc/init.d/dtlogin start exit
and wait for X server to start. If it did not start, it will store erros in file and tell you where that file is located.
- to see the list of resolution modes available type
fbconfig -res \? Valid values for -res option are: VESA_STD_640x480x60 [1][2] VESA_STD_640x480x72 [1] VESA_STD_640x480x75 [1][2] VESA_STD_800x600x75 [1][2] VESA_STD_1024x768x60 [1] VESA_STD_1024x768x70 [1][2] VESA_STD_1024x768x75 [1] SUNW_STD_1024x768x77 SUNW_STD_1024x800x84 SUNW_STD_1152x900x66 [1] SUNW_STD_1152x900x76 [1] SUNW_STD_1280x768x56 SUNW_STD_1280x800x76 VESA_STD_1280x1024x60 [2] SUNW_STD_1280x1024x67 [1] VESA_STD_1280x1024x75 [1][2] SUNW_STD_1280x1024x76 [1][3] VESA_STD_1280x1024x85 SUNW_STD_1440x900x76 SUNW_STD_1600x1000x66 SUNW_STD_1600x1000x76 SUNW_DIG_1600x1024x60 VESA_STD_1600x1200x60 SUNW_DIG_1600x1200x60 SI-LMT_RFE_1600x1200x73 VESA_STD_1600x1200x75 SUNW_STD_1600x1280x76 VESA_STD_1792x1344x60 VESA_STD_1792x1344x75 SUNW_DIG_1920x1080x60 SUNW_STD_1920x1080x72 SUNW_DIG_1920x1200x60 SUNW_STD_1920x1200x70 SUNW_STD_1920x1200x75 SUNW_FSC_640x480x60 VESA_STD_720x400x85 SUNW_STD_640x480x180 VESA_STD_800x600x56 [1] VESA_STD_800x600x60 [1][2] VESA_STD_800x600x72 [1] VESA_STD_800x600x85 VESA_STD_1024x768x85 VESA_STD_1152x864x75 [2] SUNW_STD_1280x1024x60 SGI_STD_1600x1024x60 VESA_STD_1600x1200x65 VESA_STD_1600x1200x70 SIEMENS_STD_1600x1200x73 VESA_STD_1600x1200x85 VESA_STD_1856x1392x60 VESA_STD_1856x1392x75 SUNW_DIG_1400x1050x60 Notes: [1] monitor A supports these resolutions. [2] monitor B supports these resolutions. [3] preferred resolution for monitor A All resolutions which are not marked by above "[x]" are not supported Use unsupported resolutions at your own risk. Abbreviations such as "1280x1024x75" may also be used
To get information about particular videocard and monitor, use
fbconfig -dev /dev/fb6 -propt fbconfig -dev /dev/fb6 -prconf
Based on that information change resolution and depth. If system tells you that resolution you are trying to set may not be supported by particular display, try another setting. Following settings were used for clon01 and clon03:
clon01:clasrun> fbconfig -dev /dev/fbs/pfb0a -res VESA_STD_1600x1200x75 -depth 24 clon01:clasrun> fbconfig -dev /dev/fbs/pfb0b -res SUNW_STD_1280x1024x76 -depth 24
clon03:clasrun> fbconfig -dev /dev/fb4 -res VESA_STD_1600x1200x75 -depth 24 clon03:clasrun> fbconfig -dev /dev/fb5 -res SUNW_STD_1280x1024x76 -depth 24 clon03:clasrun> fbconfig -dev /dev/fb6 -res 1280x1024x75 -depth 24
also for m64* card: m64config -res \? m64config -help
FROM WEB:
SUMMARY: How to change resolution for solaris 8? Subject: SUMMARY: How to change resolution for solaris 8? List-id: The summary-only version of the Sun Managers mailing list. <summaries.sunmanagers.org>
> I just installed solaris 8 1/01 on a SunBlade 100 > and > the screen resolution is not properly set. I was > told > to use "kdmconfig" to change resolution, but there > is > no kdmconfig on my system (I did a "find . -print | > grep kdmconfig" under /). > > Another problem is that colors are not always > displayed properly. Fore example, Netscape seems ok > but when launching admintool, I get a lot of errors > such as 'Warning: Cannot allocate colormap entry for > "gray"' and 'Warning: Cannot parse default > background > color specification.' This happens on other > software, > esp. acroread, as well. The effect of this is that > the > apps often appear in B&W, sometimes even white on > white. Once acroread runs at the foreground, > background becomes fuzzy. > The solution is "m64config -depth 24 -res 1024x768x75". Other suggestions are "fbconfig -depth 24 -res 1024x768x75", and to edit "/etc/dt/config/Xservers". I haven't tried those, though.
> The third problem is that the printer always prints > three pages of heading before any printing job. I > setup my network printer as follows. > Printer type: PostScript > File contents: PostScript > Fault Notification: Write to Superuser > Destination: name.com > Protocol: BSD > Options: Default Printer is checked > User Access List: all > The solution is to telnet to the printer and disable banner page. The number of banner pages is reduced to one after this. To get rid of banner page, use "lp -o nobanner".
Thanks to the following gurus: Dan Barnes <barnesdan@xxxxxxxxx> John Gibson <jgibson@xxxxxxxxxxx> Ian Camm <ian.camm@xxxxxxxxxxxxxxx> Fricot, Daniel <daniel.fricot@xxxxxxxxx> Koos van den Hout <koos@xxxxxxxx> Surendar Dinkar <surender@xxxxxxxx> Jonathan Hays <jhays@xxxxxxxx> system administration account <sysadmin@xxxxxxxxxxx> Riddoch, John E SITI-ITDSEP3 <John.E.Riddoch@xxxxxxxxxxxx> Lars Hecking <lhecking@xxxxxxx> Jai Khurana <jaikhurana2000@xxxxxxxxx> Steve B. <bsdfan@xxxxxxxxxxx> ltiu <ltiu@xxxxxxxxxxxxx>
__________________________________________________ Do You Yahoo!? Check out Yahoo! Shopping and Yahoo! Auctions for all of your unique holiday gifts! Buy at http://shopping.yahoo.com or bid at http://auctions.yahoo.com
Xorg-style server (clon04, both Linux and Solaris experience)
monitors:
clon04:0.0 - SUN GDM 5410 clon04:0.1 - SUN GDM 5510 clon04:0.2 - SUN GDM 20E20
WHAT I DID ON Solaris:
1. Run command
/usr/openwin/bin/kdmconfig
it will offer X server Selection: 'Xorg server' or 'Xsun server', choose 'Xorg server'. On next screen it will provide short instructions for configuring the Xorg Server:
(1) Create an xorg.conf file with one of these commands: /usr/X11/bin/Xorg -configure, or /usr/X11/bin/xorgconfig, or /usr/X11/bin/xorgcfg (2) Edit the resultant xorg.conf file with any changes needed (3) Move the xorg.conf file to /etc/X11/xorg.conf
For more details about Xorg configuration, refer to the Xorg man pages in /usr/X11/man. This directory is not in the default man page path, so to view these pages, use one of these options: (1) Add this directory to the MANPATH environment variable setting. (2) Use the "-M /usr/X11/man" option of the man command.
Note, Xorg command line options may override xorg.conf settings.
2. Run command
/usr/X11/bin/xorgconfig
and give following answers when asked:
Enter a protocol number: 1 <enter> Do you want to enable Emulate3Buttons? n <enter> Mouse device: <enter> Enter a number to choose the keyboard. Press enter for the next page 8 <enter> Enter a number to choose the country. Press enter for the next page 1 <enter> Please enter a variant name for 'us' layout. Or just press enter for default variant <enter> Do you want to select additional XKB options (group switcher, group indicator, etc.)? n <enter> You must indicate the horizontal sync range of your monitor.... (clon04:0.0 has 81.1kHz/76Hz 1280x1024 mode) Enter your choice (1-11): 10 <enter> <--- that was "31.5 - 82.0; Monitor that can do 1280x1024 @ 76 Hz" You must indicate the vertical sync range of your monitor.... Enter your choice: 2 <enter> <--- that was "50-90" Enter an identifier for your monitor definition: <enter> Now we must configure video card specific settings.... Do you want to look at the card database? y <enter> Enter a number to choose the corresponding card definition. Press enter for the next page, q to continue configuration. q <enter> How much video memory do you have on your video card: Enter your choice: 10 <enter> <--- that was "10 131072K", we have 128MB Enter an identifier for your video card definition: FX560 <enter> Please specify which color depth you want to use by default: Enter a number to choose the default depth. 5 <enter> <--- that was "5 24 bits (16 million colors)" Shall I write it to /etc/X11/xorg.conf? y <enter> File has been written. Take a look at it before starting an X server. Note that the xorg.conf file must be in one of the directories searched by the server (e.g. /etc/X11) in order to be used. Within the server press ctrl, alt and '+' simultaneously to cycle video resolutions. Pressing ctrl, alt and backspace simultaneously immediately exits the server (use if the monitor doesn't sync for a particular mode). For further configuration, refer to the xorg.conf(4) manual page.
Produced file is crapp !!!!!!
Found that solaris itseld produces following files during reboot:
/etc/X11/.video.devs /etc/X11/.xorg.conf
and contents of those files looks reasonable. Graphic works but must specify CDE first.
Installed drivers from "Sun Ultra 20 M2 Workstation Tools and Drivers V1.4" CD. File /etc/X11/xorg.conf was produced. Rebooted - nothing works. Renamed xorg.conf, graphics came back.
Installed drivers from "Sun Ultra 20 M2 Workstation Tools and Drivers V1.6A" iso image (downloaded from sun web site) by mounting image using 'lofi' and executing /drivers/../install.sh and dual....sh. Same result. Looks like everything installed fine, but graphics does not work. Procedure installs its /etc/X11/xorg.conf file but it does not look reasonable.
Copied xorg.conf from the web (maybe the same as in Ultra 20 M2 instructions ?). After reboot something trying to come up but complains about errors. Look at /var/dt/Xerrors, fount that it cannot find font. Copied font passes from another xorg.conf. Reboot - works ! Login as root using java (not CDE) desktop, and found menu:
Applications->Utilities->NVIDIA X Server Settings
Set resolution for both displays in that menu, click 'Save', and it saved to /etc/X11/xorg.conf file. This is how that file looks now:
# nvidia-settings: X configuration file generated by nvidia-settings # nvidia-settings: version 1.0 (@builder29) Mon Feb 26 23:33:03 PST 2007 Section "ServerLayout" Identifier "Layout0" Screen 0 "Screen0" 0 0 Screen 1 "Screen1" RightOf "Screen0" InputDevice "Keyboard0" "CoreKeyboard" InputDevice "Mouse0" "CorePointer" EndSection Section "Files" RgbPath "/usr/X11R6/lib/X11/rgb" FontPath "/usr/X11R6/lib/X11/fonts/misc/:unscaled" FontPath "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled" FontPath "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled" FontPath "/usr/X11R6/lib/X11/fonts/misc/" FontPath "/usr/X11R6/lib/X11/fonts/Type1/" FontPath "/usr/X11R6/lib/X11/fonts/100dpi/" FontPath "/usr/X11R6/lib/X11/fonts/75dpi/" FontPath "/usr/X11R6/lib/X11/fonts/TrueType/" FontPath "/usr/X11R6/lib/X11/fonts/Type1/sun/" FontPath "/usr/X11R6/lib/X11/fonts/F3bitmaps/" EndSection Section "Module" Load "dbe" Load "extmod" Load "type1" Load "IA" Load "bitstream" Load "xtsol" Load "glx" EndSection Section "ServerFlags" Option "Xinerama" "0" EndSection Section "InputDevice" # generated from default Identifier "Mouse0" Driver "mouse" Option "Protocol" "auto" Option "Device" "/dev/mouse" Option "Emulate3Buttons" "no" Option "ZAxisMapping" "4 5" EndSection Section "InputDevice" # generated from default Identifier "Keyboard0" Driver "keyboard" EndSection Section "Monitor" # HorizSync source: edid, VertRefresh source: edid Identifier "Monitor0" VendorName "Unknown" ModelName "SUN GDM-5410" HorizSync 30.0 - 121.0 VertRefresh 48.0 - 160.0 Option "DPMS" EndSection Section "Monitor" # HorizSync source: xconfig, VertRefresh source: xconfig Identifier "Monitor1" VendorName "Unknown" ModelName "CRT-0" HorizSync 31.5 - 67.0 VertRefresh 50.0 - 75.0 Option "DPMS" EndSection Section "Device" Identifier "Videocard0" Driver "nvidia" VendorName "NVIDIA Corporation" BoardName "Quadro FX 560" BusID "PCI:2:0:0" EndSection Section "Device" Identifier "Videocard1" Driver "nvidia" VendorName "NVIDIA Corporation" BoardName "Quadro FX 560" BusID "PCI:7:0:0" EndSection Section "Screen" Identifier "Screen0" Device "Videocard0" Monitor "Monitor0" DefaultDepth 24 Option "metamodes" "1280x1024 +0+0" SubSection "Display" Depth 24 Modes "1600x1200" "1280x1024" "1024x768" "800x600" "640x480" EndSubSection EndSection Section "Screen" Identifier "Screen1" Device "Videocard1" Monitor "Monitor1" DefaultDepth 24 Option "TwinView" "1" Option "metamodes" "CRT-0: 1024x768 +1024+0, CRT-1: 1280x1024 +0+0" SubSection "Display" Depth 24 Modes "1600x1200" "1280x1024" "1024x768" "800x600" "640x480" EndSubSection EndSection
Still need to activate third display and align them to each other, will do it later.
WHAT I DID ON Linix:
Install drivers from V1.6A in single mode. During reboot Linux recognized 2 new videocards as unknown devices, I said configure. It is also recognized new ethernet device (probably because nvidia ethernet driver was installed), I said ignore.
I adjusted /etc/X11/xorg.conf file similar to Solaris, and clon04:0.0 booted fine, but clon04:0.1 was dark. Then I found menu:
Applications->System Tools->NVIDIA X Server Settings
and found that second display was disabled. I enabled it, saved config and restarted - second display works !!!
NOTE: you should run GUI as 'root'. To start it from the prompt, type
/usr/bin/nvidia-settings
At that point machine was subscribed so I ran 'up2date' and rebooted. Nothing worked after that. I installed drivers again (xorg.conf was not changed) and everything works again. Should I reinstall drivers after every 'up2date' ? Will see.
Finally:
# nvidia-settings: X configuration file generated by nvidia-settings # nvidia-settings: version 1.0 (buildmeister@builder3) Mon Feb 26 23:39:38 PST 2007 Section "ServerLayout" Identifier "Layout0" Screen 0 "Screen0" 640 1024 Screen 1 "Screen1" Above "Screen0" Screen 2 "Screen2" LeftOf "Screen1" InputDevice "Keyboard0" "CoreKeyboard" InputDevice "Mouse0" "CorePointer" EndSection Section "Files" RgbPath "/usr/X11R6/lib/X11/rgb" FontPath "unix/:7100" EndSection Section "Module" Load "dbe" Load "extmod" Load "type1" Load "freetype" Load "glx" EndSection Section "ServerFlags" Option "Xinerama" "0" EndSection Section "InputDevice" # generated from data in "/etc/sysconfig/mouse" Identifier "Mouse0" Driver "mouse" Option "Protocol" "IMPS/2" Option "Device" "/dev/input/mice" Option "Emulate3Buttons" "no" Option "ZAxisMapping" "4 5" EndSection Section "InputDevice" # generated from data in "/etc/sysconfig/keyboard" Identifier "Keyboard0" Driver "kbd" Option "XkbLayout" "us" Option "XkbModel" "pc105" EndSection Section "Monitor" # HorizSync source: edid, VertRefresh source: edid Identifier "Monitor0" VendorName "Unknown" ModelName "SUN GDM-5410" HorizSync 30.0 - 121.0 VertRefresh 48.0 - 160.0 Option "DPMS" EndSection Section "Monitor" # HorizSync source: edid, VertRefresh source: edid Identifier "Monitor1" VendorName "Unknown" ModelName "SUN GDM-5510" HorizSync 30.0 - 130.0 VertRefresh 48.0 - 170.0 Option "DPMS" EndSection Section "Monitor" # HorizSync source: xconfig, VertRefresh source: xconfig Identifier "Monitor2" VendorName "Unknown" ModelName "CRT-0" HorizSync 28.0 - 33.0 VertRefresh 43.0 - 72.0 Option "DPMS" EndSection Section "Device" Identifier "Videocard0" Driver "nvidia" VendorName "NVIDIA Corporation" BoardName "Quadro FX 560" BusID "PCI:2:0:0" EndSection Section "Device" Identifier "Videocard1" Driver "nvidia" VendorName "NVIDIA Corporation" BoardName "Quadro FX 560" BusID "PCI:7:0:0" Screen 0 EndSection Section "Device" Identifier "Videocard2" Driver "nvidia" VendorName "NVIDIA Corporation" BoardName "Quadro FX 560" BusID "PCI:7:0:0" Screen 1 EndSection Section "Screen" Identifier "Screen0" Device "Videocard0" Monitor "Monitor0" DefaultDepth 24 Option "metamodes" "1280x1024 +0+0" SubSection "Display" Depth 24 Modes "1600x1200" "1280x1024" "1024x768" "800x600" "640x480" EndSubSection EndSection Section "Screen" Identifier "Screen1" Device "Videocard1" Monitor "Monitor1" DefaultDepth 24 Option "metamodes" "CRT-1: 1280x1024 +0+0" SubSection "Display" Depth 24 Modes "1600x1200" "1280x1024" "1024x768" "800x600" "640x480" EndSubSection EndSection Section "Screen" Identifier "Screen2" Device "Videocard2" Monitor "Monitor2" DefaultDepth 24 Option "metamodes" "CRT-0: 1280x1024 +0+0" SubSection "Display" Depth 24 Modes "1280x1024" "1024x768" "800x600" "640x480" EndSubSection EndSection
GENIAL'NO (V SMISLE PROSTO) about observed problem when window opens on :0.0 but does not open on hostname:0.0:
On Fri, 18 Mar 2005 14:14:57 GMT, Paul Coene staggered into the Black Sun and said: > I'm relatively new to linux, but I'm an old hand (20+) years with Unix > in general and I've used alot of X windows. Recently, I've started > > %xterm > it brings up an xterm as one might expect. > > If I type: > %xterm -display "localhost:0" > xterm Xt error: Can't open display: localhost:0
Yep. X is trying to use TCP/IP to connect to localhost. This may not work. If you do "ps auxw | grep X", you'll probably see a line like so:
root 9492 0.1 4.6 19652 17976 ? S Mar17 1:00 /usr/X11R6/bin/X -nolisten tcp -auth /var/run/xauth/A:0-ZMuEvo vt7
...note the "-nolisten tcp". That makes it so that X won't listen for TCP of any type. This makes it impossible to use the "normal" xhost +foo method, or to use X-over-TCP at all.
> The same occurs with any display other than ":0.0"... > I have xhost + set, so that should not be the problem.
AAAAH! Don't do that. Use "xhost +machine" or better yet, use ssh -X.
> I have three systems. Two of the 3 behave this way.
Find the ?dm config file where X is started. Mine's in /usr/kde/3.3/share/config/kdm/Xservers since I'm using kdm on KDE 3.3. gdm is probably /etc/X11/gdm/gdm.conf . Find the line where X is started, delete the "-nolisten tcp" part of it. For gdm, make sure "DisallowTCP=true" is commented out. Restart X and things should work better.
On a local network, it's OK to use xhost and X-over-TCP. Over the wide Net, use ssh -X (or ssh -Y) so your X traffic is encrypted. If you take out the "-nolisten tcp" on the machines on your LAN, you might want to block TCP 6000 at your gateway, just in case.
On standard RHEL4 I added DisallowTCP=false line into /etc/X11/gdm/gdm.conf file, and X restarted without -nolisten. Program gdmsetup can be used to edit that file. Default gdm.conf does not contains that line and X server starts with -nolisten, which means it is coded into X server binary file supplied by Red Hat.
Similar problem was observed when Solaris 10 Update 3 was installed from DVD on clon03. Probably similar fix must be applied although config file may be different (or the same - who knows).
advise
To configure Solaris for dual monitors, follow these steps:
1. Install the two video cards you intend to use, attach monitors to the cards, and boot the system.
Note - X-windows may not start, initially, due to the change in configuration.
The system outputs to PCI-E slot 2 (lower slot) until X-windows comes up.
2. When the system boots, insert the Tools and Drivers CD, and change directory to the following location:
/cdrom/<T&D_disk_name>/drivers/solx86
3. Run the install.sh and the dual_monitor.sh scripts.
4. Reboot the system.
The dual monitors should come up.
5. To change from Clone to Xinerama modes, edit the file /etc/X11/xorg.conf and turn the appropriate settings in the file on or off.
Note - The top card is at PCI address (2,0,0) and the bottom is at (7,0,0).
An example xorg.conf file is shown below:
# nvidia-xconfig: X configuration file generated by nvidia-xconfig # nvidia-xconfig: version 1.0 (buildmeister@builder26) Mon Oct 16 22:13:48 PDT 2006 # XFree86 4 configuration created by pyxf86config #Section "ServerLayout" # Identifier "Default Layout" # Screen 0 "Screen0" 0 0 # InputDevice "Mouse0" "CorePointer" # InputDevice "Keyboard0" "CoreKeyboard" #EndSection Section "ServerLayout" Identifier "Default Layout" Screen 0 "Screen 0" Screen 1 "Screen 1" RightOf "Screen 0" # Screen 2 "Screen 2" LeftOf "Screen 1" InputDevice "Mouse0" "CorePointer" InputDevice "Keyboard0" "CoreKeyboard" EndSection Section "Files" # RgbPath is the location of the RGB database. Note, this is the name of the # file minus the extension (like ".txt" or ".db"). There is normally # no need to change the default. # Multiple FontPath entries are allowed (they are concatenated together) # By default, Red Hat 6.0 and later now use a font server independent of # the X server to render fonts. RgbPath "/usr/X11R6/lib/X11/rgb" FontPath "unix/:7100" EndSection Section "Module" Load "dbe" Load "extmod" Load "fbdevhw" Load "glx" Load "record" Load "freetype" Load "type1" EndSection Section "InputDevice" # Specify which keyboard LEDs can be user-controlled (eg, with xset(1)) # Option "Xleds" "1 2 3" # To disable the XKEYBOARD extension, uncomment XkbDisable. # Option "XkbDisable" # To customise the XKB settings to suit your keyboard, modify the # lines below (which are the defaults). For example, for a non-U.S. # keyboard, you will probably want to use: # Option "XkbModel" "pc102" # If you have a US Microsoft Natural keyboard, you can use: # Option "XkbModel" "microsoft" # # Then to change the language, change the Layout setting. # For example, a german layout can be obtained with: # Option "XkbLayout" "de" # or: # Option "XkbLayout" "de" # Option "XkbVariant" "nodeadkeys" # # If you'd like to switch the positions of your capslock and # control keys, use: # Option "XkbOptions" "ctrl:swapcaps" # Or if you just want both to be control, use: # Option "XkbOptions" "ctrl:nocaps" # Identifier "Keyboard0" Driver "kbd" Option "XkbModel" "pc105" Option "XkbLayout" "us" EndSection Section "InputDevice" Identifier "Mouse0" Driver "mouse" Option "Protocol" "IMPS/2" Option "Device" "/dev/input/mice" Option "ZAxisMapping" "4 5" Option "Emulate3Buttons" "yes" EndSection Section "Monitor" Identifier "Monitor0" VendorName "Monitor Vendor" ModelName "Unprobed Monitor" HorizSync 31.5 - 67.0 VertRefresh 50.0 - 75.0 Option "dpms" EndSection Section "Monitor" Identifier "Monitor1" VendorName "Sun Microsystems" ModelName "X7198A" HorizSync 31.5 - 67.0 VertRefresh 50.0 - 75.0 Option "dpms" EndSection Section "Device" Identifier "Videocard0" Driver "nvidia" VendorName "Videocard vendor" BoardName "VESA driver (generic)" BusID "PCI:2:0:0" EndSection Section "Device" Identifier "Videocard1" Driver "nvidia" VendorName "Videocard vendor" BoardName "VESA driver (generic)" BusID "PCI:7:0:0" EndSection Section "Screen" Identifier "Screen 0" Device "Videocard0" Monitor "Monitor0" DefaultDepth 24 Option "TwinView" "True" Option "TwinViewOrientation" "LeftOf" Option "UseEdidFreqs" "True" Option "MetaModes" "800x600,800x600" SubSection "Display" Viewport 0 0 Depth 24 Modes "800x600" "640x480" EndSubSection EndSection Section "Screen" Identifier "Screen 1" Device "Videocard1" Monitor "Monitor1" DefaultDepth 24 Option "TwinView" "True" Option "TwinViewOrientation" "LeftOf" Option "UseEdidFreqs" "True" Option "MetaModes" "1024x768, 1024x768" SubSection "Display" Viewport 0 0 Depth 24 Modes "800x600" "640x480" EndSubSection EndSection
advise
(8.0) X Windows
(8.1) How do I find a Solaris video driver for my graphics card?
First look in the HCL for your release of Solaris to see if your graphics card is supported. Having a supported graphics card on the HCL is very important--more important than a supported motherboard. If the adapter's not listed, look for a driver from these sources:
* Solaris 10 comes with both X.org Xserver software and the original XSun software. Xorg is open source software available for multiple UNIX/BSD/Linux-based platforms. Xorg supports more video adapters and supports them better than XSun.
* http://developers.Sun.COM/ may have newer drivers for your release.
* Some video drivers may be bundled (hidden) with Solaris Recommended Update Patches.
* Consider 3rd-party drivers. XiGraphics, http://www.xig.com/, is especially recommended if you have a laptop. The nVidia video drivers are at http://www.nvidia.com/object/unix.html
* Finally, if all else fails, see the question below on installing Xorg on Solaris. Personally, it's a lot easier to use a card supported by Xsun than to install Xorg.
During installation, if you have a unsupported video card, be sure to bypass kdmconfig with the F4 key. Use type 4, "Solaris Interactive Text (Console session)," for Solaris 10 and the "Software 1 of 2" CD for Solaris 8 or 9.
[Thanks to Paul Karagianis for NVida info]
(8.2)How do I install the Xorg video drivers?
Beginning with Solaris 10, all Xorg drivers are included with Solaris. The old "Video Drivers Porting Kit" is no longer needed. Xorg drivers are also available with the current Solaris 9 Update release.
(8.3) How do I configure Xorg on Solaris?
First use /usr/openwin/bin/kdmconfig to select Xorg instead of Xsun. Run /usr/X11R6/bin/xorgconfig to configure Xorg, which asks questions and creates file /etc/X11/xorg.conf View errors, if any, in /var/log/Xorg.0.log. Try the generic "VESA driver" (which uses the BIOS) if the driver you picked didn't work. You may also (carefully) edit /etc/X11/xorg.conf directly (save the original file first). To start the X server manually, use /usr/X11R6/bin/xinit
(8.4) How do I configure 64K colors for XSun/CDE?
Solaris' kdmconfig offers only a choice of 256 or 16M colors for your graphics board with XSun. To configure XSun to use 16-bit color, configure using kdmconfig for the desired resolution in 256 color mode. Note the board line from file /etc/openwin/server/etc/OWconfig. Look in the referenced file in directory /usr/openwin/share/etc/devdata/SUNWaccel/boards to see if there is support for 16-bit color mode for your card.
If your board is listed, edit file /etc/openwin/server/etc/OWconfig and change defdepth="8" to defdepth="16" in it. Also, values for MaxPClk for some cards are way too low in 16-bit and 24-bit modes in file /usr/openwin/share/etc/devdata/SUNWaccel/boards. But if you want to change this, you are doing it on your own risk. Some applications hang on 16-bit colors.
The CDE logo that is displayed after one logs in is a bit-mapped grayscale image(!?), but everything else should work just fine.
[Thanks to Aleksandar Milivojevic, by way of John Groenveld]
(8.5) How do I Add KDE, FVWM, or other non-CDE/GNOME Window Mangers to the dtlogin screen?
KDE The easiest way to add substitute KDE for CDE is to add an "exec /path/to/kde" statement in your $HOME/.dtprofile file.
To add a KDE selection to the dtlogin screen (in addition to the usual command-line, OpenWindows, or CDE choices), follow one or both of these links:
* http://www.tiem.utk.edu/~peek/solaris/ written by Michael Peek * http://twirl.mcc.ac.uk/~zzassgl/wm.html written by Geoff Lane
FVWM The instructions are for FVWM, but apply to any window manager, such as KDE, AfterStep, WindowMaker, or Enlightenment. Be aware that these new WMs usually take a bigger memory footprint.
(8.6) Where can I get GNOME or KDE packages for Solaris/x86?
GNOME is available with Solaris 9 and above. KDE is available with the Solaris Companion CD. They are also available on the web for download.
For information about GNOME on Solaris or for a free download, see http://www.sun.com/gnome/ For information on GNOME, see http://www.gnome.org/
For general KDE information, see http://www.kde.org/ When installing KDE, make sure to install the QT library first, which is required by KDE.
Which is better? "Religious" wars could be fought over this question. KDE has a more familiar M$ windows-like interface, and I used to use it. I use GNOME now since it's most easily available on both Solaris and Linux. KDE is more mature than GNOME and more tightly integrated, but some say GNOME is catching up. GNOME and Mozilla both use the C-based GTK library. The C++-based QT library, required by KDE, used to have stricter licensing restrictions, but now it's licensed under GPL (not LGPL). KDE is endorsed and supported by IBM, Caldera, and SuSE. GNOME is endorsed and supported by Sun (and RedHat and HP). I recommend installing and trying out both GNOME and KDE for a test drive. You can have both installed at the same time and select which one to use with dtlogin. You can also run KDE apps under GNOME and vice versa.
Sun picked GNOME over KDE because of Qt licensing issues, CORBRA in GNOME, and because GNOME uses C and KDE uses C++ (the latter causes name mangling problems which prevents using different C++ compilers).
(8.7) After upgrading to Solaris 9 or installing GNOME, GNOME does not appear in the dtlogin menu. How can I fix this?
Check what your LANG variable is set to (AFTER logging in to CDE). If it's not "C", you need to copy the GNOME dtlogin resource files to your current locale. Type this command, as root (1 line): cp /usr/dt/config/C/Xresources.d/Xresource.Sun-gnome-2.0* /usr/dt/config/$LANG/Xresouces.d (where $LANG is you current locale) For example: cp /usr/dt/config/C/Xresources.d/Xresource.Sun-gnome-2.0* /usr/dt/config/en_US.ISO8859-15/Xresouces.d
If you have trouble AFTER logging into a GNOME session, check these:
* If you define $LD_LIBRARY_PATH, make sure /usr/lib and /opt/sfw/lib are at the beginning. E.g., /usr/lib:/opt/sfw/lib:/usr/local/lib * Rename your ~/.xinitrc file to something else (e.g., ~/.xinitrc.old). * Erase your GNOME configuration files: /usr/bin/gnome-cleanup * For more tips, see the GNOME 2.0 Desktop for the Solaris O. E. Troubleshooting Guide at http://docs.sun.com/
(8.8) Are TrueType fonts supported in Solaris?
Yes, Xsun supports them. Use the Font Administrator GUI, /usr/dt/bin/sdtfontadm, to add them to the server's list of fonts. See also http://www.bolthole.com/solaris/verdana.font.txt
[Thanks to Tran Tran]
(8.9) After installing and booting Solaris I get this message: "The X-server can not be started on display :0"
Your video or mouse settings are probably incorrect or a video card or mouse was not detected at all. Check the log files to be sure (/var/log/Xorg.0.log if using Xorg or /var/log/Xsun.0.log if using Xsun with a XF86/Xorg driver). First login in text mode and check /var/dt/Xerrors for error messages. If nothing obvious is there, run kdmconfig and try a simpler video setting (plain VGA, low resolution). Once that works, try higher-resolution settings and other drivers. Also try using the Xorg video drivers instead of XSun (see a previous question on configuring with Xorg drivers).
(8.10) How do I disable CDE auto-start upon booting multi-user?
Boot single-user and run dtconfig(1). That is, at the booting Solaris prompt, type "b -s" After entering your root password, mount /usr and run "/usr/dt/bin/dtconfig -d"
[Thanks to John Groenveld]
(8.11) How do I su(1) to another user and run an X application?
You need to set your $DISPLAY and allow others to use your console. If you don't, you get a message like "Can't open display". By default, only the user who logged in on console can connect to the display.
To allow another user to connect there are two ways - one easy and one secure (unfortunately, you can't have both):
Easy: As user logged in on console run "xhost +LOCAL:" (This gives permission to connect to the display to anyone logged in on the machine—this includes being able to open windows, read your keystrokes, send keystrokes, etc. Obviously not a good idea if you have other users on the system you don't trust completely.) Starting with Solaris 10, you can also use this safer, more-restrictive format: xhost xhost +si:localuser:username For example: xhost +si:localuser:root
As any other user logged in on the box, run "setenv DISPLAY :0" or "DISPLAY=:0; export DISPLAY", depending on your shell type. This all assumes you're connecting from the same host, for a remote host, change to "xhost +other-hostname" and "setenv DISPLAY PutYourHostnameHere:0"
Safe: As user logged in on console run "xauth list" Look for the line for your hostname followed by ":0" and copy it. As the user you want to grant access to run "xauth" and at the xauth> prompt type "add " and paste the line you copied. Now "setenv DISPLAY hostname:0", making sure you match the way it was listed in the line you copied and pasted.
Easier variation of safe method for special cases: If the other user you want to access your screen is root, and your home directory is either local or on an NFS filesystem exported with root permissions, just have root do this: setenv XAUTHORITY /home/myuserid/.Xauthority ; setenv DISPLAY :0 (replace "/home/myuserid" with your actual home directory).
[Thanks to Alan Coopersmith]
(8.12) Does Solaris x86 support multiple heads?
Yes, with Xorg. Xsun supports multiple heads only for Sun Ray workstations. A commercial X server from Xi graphics, http://www.xig.com/ also supports multiple heads.
[Thanks to John Groenveld, Alan Coopersmith]
(8.13) How do I get my 2-button mouse to emulate 3 buttons?
In Solaris 8, "kdmconfig" will autodetect a two-button PS/2 mouse, so you may never look in the "change pointing device" section. You need to go in there, and change it from "PS/2 Mouse (2 Button)" to "PS/2 Mouse (2 Button+100ms 3 Button Emulation)"
[Thanks to Philip Brown]
(8.14)How do I get some older Solaris GUI's to run with Xorg?
Some applications are configured to use Sun's proprietary F3 fonts. The work-around is to run Sun font server, xfs(1), and to prefix Xorg's FontPath with it.
(8.15) Can I use an old Sun monitor with a 13W3 connector with a VGA adaptor card?
Yes. You need an adaptor. Get a 13W3 female to DB-15HD (VGA) male adaptor to connect a Sun monitor to a PC VGA adaptor port. Make sure to get the 13W3 female adaptor (the more-common male adaptor is for connecting PC-style VGA monitors to Sun video ports).
advise
What does :0.0 mean?
The :0.0 part of the DISPLAY variable denote the display and the screen of an X server.
The display is the first number and equals to a running instance of an X server. If it is using TCP/IP for communication it listens on port 6000 + display-number for connections. With local (UNIX domain sockets) it uses the socket /tmp/.X11-unix/Xdisplay-number
The screen denotes different output devices of the X server. You could start XWin.exe with two -screen options and would end up with two X11 windows. Each of them is a different screen. Other X servers open different screens for different monitors connected to the computer.
Cygwin/X supports different formats of the DISPLAY variable
:0.0 or unix:0.0 This names a local X server and the communication uses the UNIX domain sockets.
hostname:0.0 This names a remote X server and the communication uses the TCP/IP network.
advise
Cygwin:
Xlib: connection to "local_host_name_or_ip_address:0.0" refused by server Xlib: Maximum number of clients reached
Cygwin/X queries getdtablesize () for the maximum number of client connections allowed; by default Cygwin returns 32 from getdtablesize (). Cygwin/X Server Test Series release Test44, released on 2001-08-15, changes the maximum number of clients from 32 to 1024 by passing the square of getdtablesize () to setdtablesize ().
Solaris:
It's in the FAQ, naturally: 3.57) How can I have more than 128 X windows clients? When you get the following errors, you've run out of X sockets. Xlib: connection to :0.0 refused by server Xlib: maximum number of clients reached By default, the X server has a limit of just 128. In order to increase this limit, you need to run at least Solaris 8 or an earlier release with the Xserver patch applies that fixes bug: 4185418 the X server should support more connections Then change the Xservers configuration file and add the "-clients 1024" option to the X commandline. Since I'm running Solaris 8, I can change max clients.