What has happened to startx on Cygwin? [closed]
Asked Answered
A

6

13

I just had my desktop computer replaced. Both my previous computer and this one have Windows XP. In order to work with the many Linux servers we have, I installed Cygwin along with its xterm package. However, I cannot run startx to start the X-window server as I did with my previous computer. I've been looking online to see why startx is missing from my install, but I haven't found anything yet. Any help would be greatly appreciated.


[Does more research] Well, I just installed the xinit package, which I do not recall having to do before. (It may have been a requirement for the xterm package the last time I installed Cygwin.) startx now exists, but I wouldn't say it works. The X-window server it starts creates a window that covers my entire monitor with three terminals within it, unlike the old 25 line x 80 column single terminal window I'm used to. Worse, I can't just spawn child windows like I used to, which was the real power of using Cygwin with X-windows.

Aleenaleetha answered 5/2, 2009 at 2:54 Comment(0)
A
9

OK, after doing more research and getting help from one of my coworkers, I have found a solution to my problem.

What has happened is that, although startx exists, it now starts the X server in fullscreen mode by default instead of multiwindow mode. Looking back, I probably could have copied /etc/X11/xinit/xinitrc to ~/.xinitrc and customized it. However, it turns out that there are other startup scripts for the X server which are easier to modify. (See http://x.cygwin.com/docs/ug/using.html.)

In this case, I took the script startxwin.bat. I then made a couple of changes to startxwin.bat:

  • I added a drive letter to the CYGWIN_ROOT because my work environment has my home directory outside of the C drive.
  • I added a "+tb" option to the xterm call to suppress the menubar at the top of the X-window.

The nifty thing is that by going to Start → Programs → Cygwin-X → Xwin Server, I can open a GUI Cygwin X-window without ever opening the standard Cygwin command line. This was decidedly not the case with my previous installation.

I should add that I made these changes after expanding my selection of packages. Instead of just installing X11 → xterm, I followed the recommendations in step 15 of http://x.cygwin.com/docs/ug/setup-cygwin-x-installing.html and installed:

  • X11 → X-start-menu-icons
  • X11 → xinit
  • X11 → xorg-docs
  • X11 → xorg-server

(This selection picked up X11 → xterm as a required package.) While I see no obvious reason why the directions above wouldn't have worked with just X11 → xterm and X11 → xinit installed, I haven't put that theory to the test, and I have little desire to blow away my current installation and rebuild it to prove my theory.

I hope this helps other people avoid some pain.

Aleenaleetha answered 6/2, 2009 at 1:58 Comment(1)
You may also want to (re?)install the fonts packages. And if you have any legacy scripts that target /usr/X11R6/bin/... then they will need fixing since now all of the X11 stuff is mixed up in /usr/bin :-(Dhruv
J
6

Disclaimer: I know this answer does not answer your question directly, but it offers a good alternative.

I use Cygwin + XMing to run remote X applications:

  1. Launch XMing
  2. Start my favorite Cygwin shell (zsh)

    export DISPLAY=localhost:0
    ssh -X myserver.domain
    
  3. Run X programs

Works like a charm. The best part is that XMing can neatly integrate X windows into the Windows GUI, i.e. each X app has its own full-right window.

Joselyn answered 5/2, 2009 at 9:28 Comment(3)
Cygwin also runs that way, which is called "rootless mode," IIRC. It's been the default for a long time, although I remember the days when it was not, and they were miserable.Pack
@skinhoppy: well, apparently I haven't tried Cygwin X since those times.Joselyn
A lot of people haven't. :) It was a long time before I noticed it was there, actually.Pack
D
2

Thanks, this helped me a bit (finding out about installing xinit). That new startx window was really crappy, a friend helped me solve it in another way: by starting with: startxwin.sh instead of startx. Then it looked like the "old" one, and worked much better.

Dismissive answered 7/2, 2009 at 9:28 Comment(0)
G
1

When you installed Cygwin, did you install the full package set? The default is to only install a baseline of packages which may not include X.

Run setup.exe again and ensure the X11 packages are installed. I just click on the little double arrows next to "All" until it says "Install". It may be you chose "Default" instead.

It's better to have a full install since I remember having problems with Cygwin dependencies in the past and now, when I run 'Start', 'All Programs', 'CygWin-X', 'XWin Server', it runs fine, opening up one shell, then 'xterm &' opens another shell.

So I really think you need to install the lot. You could try, at a bare minimum, the whole X11 group (not just xinit) but you may as well do the lot, especially given the powerful commands you get.

Gale answered 5/2, 2009 at 3:12 Comment(3)
I only installed xterm. In the past, I only needed the xterm package to get a working X-windows server.Aleenaleetha
Seriously, install everything! I've had trouble with dependencies before with Cygwin and I'd rather have all the tools available.Gale
With everything installed, I run Start/CygWin-X/X-WinServer and it runs fine, opening up one shell, then 'xterm &' opens another shell. So I think you need to install the lot.Gale
P
1

I always run Cygwin install twice ... the first time, I just install default packages, and the second time, I install EVERYTHING. The download takes forever, but in this way I always have almost everything I could possibly want. (I like how on Cygwin I can install everything and there are no conflicts, unlike some Linux distributions where there are packages that do the same thing in different ways which can't be installed at the same time. But of course Cygwin has an easier job of this than a full OS ... there's no Cygwin sendmail, for example.)

I have to install Cygwin on a new machine tomorrow, so this question freaks me out. I'm going to die if startx isn't working. I hope it turns out that you're just missing a package. I highly recommend installing everything.

Pack answered 5/2, 2009 at 3:27 Comment(2)
Step 1: Run setup. Step 2. Download without installing (make local repository). Step 3. Burn that repos to DVD. Step 4. Install from DVD. Every 12 months, copy DVD to local repos, update it, then re-burn. Then you're only installing from DVD, much easier.Gale
I had everything installed once and it was approaching 20 gb, something to consider if your on an ssdMonoatomic
E
0

2024 update

Even startxwin is no longer present. But XWin is (note the uppercase which is not tab-completion friendly when you're trying to find it!).

Egger answered 31/1 at 19:45 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.