Re: Can't start X after upgrading to cygwin1.7
Trying to downgrade to 1.5 with the legacy installer from http://www.cygwin.com/win-9x.html (which would never terminate) and then reinstalling after a reboot with the latest installer fixed the problem. Andrew On Mon, Jan 18, 2010 at 11:27 PM, Andrew Senior a...@andrewsenior.com wrote: Getting the latest cygwin installer (2.677) didn't seem to help with any of my problems. Is there somewhere other than /var/log/Xwin.0.log that I can see some logs for startxwin? I don't see any command line arguments for startxwin that might give me verbose output. Andrew On Sat, Jan 16, 2010 at 12:56 PM, Andrew Senior a...@andrewsenior.com wrote: I've had cygwin installed for a year on my Thinkpad T61, running Windows XP professional, and just ran the latest setup.exe from cygwin.com. At installation time there were some complaints about in use files, though I wasn't to my knowledge running any cygwin processes at the time. I now can't run X with startxwin.exe (no process appears, no icon in the system tray, clients won't start) It (and startx, xinit, Xwin :0) gives me no logging on the console (an rxvt window). No /var/log/Xwin.0.log is written, nor anywhere else I can see in /var/log I've tried reinstalling all the X base packages I can find, or uninstalling and reinstalling a few (including xinit and xorg-server). I've also rebooted several times since first trying this. The start menu icons give me no feedback either, except idle which says Error: could not start C:\Cygwin\bin\idle -display 127.0.0.1:0.0 running xterm, xeyes on the command line gives no error message either. Does anyone have any suggestions please? (One odd thing I notice with 1.7 is that when starting rxvt -e /usr/bin/bash -login it puts me in /bin, whereas it used to put me in my home directory. ~ and $HOME both correctly resolve to c:/aws which is in fstab as /home/aws, as well as listed if I type mount. This happened without running /bin/copy-user-registry-fstab, and that didn't put anything in /etc/fstab.d/. Another is that four packages are always scheduled to be installed (as New) in partial view of setup.exe : glib, gtk+, imlib, tetex, but never seem to be installed, nor are there any failure messages.) Thanks, Andrew I attach a cygcheck output, though I notice various things that look like errors in it: I was using http://www.gtlib.gatech.edu/pub/cygwin/ as my mirror, but setup.exe complained it wasn't an official mirror, so the recent installation was from anl.gov, and I tried pointing to waterloo.edu more recently. Also, it complains that things are hidden in my path by directories, e.g. perl is hidden by a directory named perl. 'which perl' gives the location of the binary. -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://x.cygwin.com/docs/ FAQ: http://x.cygwin.com/docs/faq/
Re: Can't start X after upgrading to cygwin1.7
On Sat, Jan 16, 2010 at 12:56 PM, Andrew Senior a...@andrewsenior.com wrote: I've had cygwin installed for a year on my Thinkpad T61, running Windows XP professional, and just ran the latest setup.exe from cygwin.com. I now can't run X with startxwin.exe (no process appears, no icon in the system tray, clients won't start) No /var/log/Xwin.0.log is written, nor anywhere else I can see in /var/log I had the same symptoms. Non-administrator WinXP users couldn't start the XWin Server, and no /var/log/XWin.0.log was created. The log file could get created if there wasn't one already present, which led me to put the log file in the user's directory instead of /var/log. The other problem was that users couldn't create the /tmp/.X0-lock file and /tmp/.X11-unix/X0 socket if they were left by another user. The solution was to give each user their own /tmp directory. I fixed it with the following: 1. Added a line in /etc/profile, just before the chmod 1777 /tmp line: mount -f $USERPROFILE/Local Settings/Temp /tmp 2. Changed the XWin Server icon so instead of just startxwin.exe, it says: ... startxwin.exe -- -logfile ~/XWin.log (Don't take out the beginning of the command that runs startxwin through bash, or the /etc/profile won't get run. The quotes are needed because this is the argument to bash's -c option.) Could any of the guru's comment on how good or bad these solutions are? -Jeff -- Jeff Spirko spi...@gmail.com WD3V |= The study of non-linear physics is like the study of non-elephant biology. -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://x.cygwin.com/docs/ FAQ: http://x.cygwin.com/docs/faq/
Re: bug report/suggested temp. patch: handling bursts of sent keys
Dennis wrote: Hi Mark. I am a bit new to this list, but not THAT new to programming. If you don't know how many keystrokes you need to have a buffer for, then you have 2 choices: 1. Have a ridiculously huge buffer. 2. Setup a dynamic array. Using a 25000 character buffer seems like overkill. But mieq.c is probably reading just from the Operating Systems' keyboard buffer. You may need to write an input function to feed mieq.c and somehow link to it. Sadly, that level of coding is beyond my abilities. Option 1 would be a temporary patch. Browsing through the source code, keypresses/releases come one at a time in via window messages to the following routine in hw/xwin/winwndproc.c: /* * Called by winWakeupHandler * Processes current Windows message */ LRESULT CALLBACK winWindowProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { ... case WM_SYSKEYDOWN: case WM_KEYDOWN: if (s_pScreenPriv == NULL || s_pScreenInfo-fIgnoreInput) break; ... /* Translate Windows key code to X scan code */ winTranslateKey (wParam, lParam, iScanCode); /* Ignore repeats for CapsLock */ if (wParam == VK_CAPITAL) lParam = 1; /* Send the key event(s) */ for (i = 0; i LOWORD(lParam); ++i) winSendKeyEvent (iScanCode, TRUE); return 0; winSendKeyEvent in turn lives in hw/xwin/winkeybd.c: /* * Take a raw X key code and send an up or down event for it. * * Thanks to VNC for inspiration, though it is a simple function. */ void winSendKeyEvent (DWORD dwKey, Bool fDown) { EventListPtr events; int i, nevents; /* * When alt-tabing between screens we can get phantom key up messages * Here we only pass them through it we think we should! */ if (g_winKeyState[dwKey] == FALSE fDown == FALSE) return; /* Update the keyState map */ g_winKeyState[dwKey] = fDown; GetEventList(events); nevents = GetKeyboardEvents(events, g_pwinKeyboard, fDown ? KeyPress : KeyRele ase, dwKey + MIN_KEYCODE); for (i = 0; i nevents; i++) mieqEnqueue(g_pwinKeyboard, events[i].event); #if CYGDEBUG ErrorF(winSendKeyEvent: dwKey: %d, fDown: %d, nEvents %d\n, dwKey, fDown, nevents); #endif } Note the call to mieqEnqueue there. I am not a Windows programmer. Can someone tell me if it's okay for winWindowProc to block? In particular, could we make it block until the mieq queue is not full? - Mark -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://x.cygwin.com/docs/ FAQ: http://x.cygwin.com/docs/faq/