From antoine at nagafix.co.uk Mon Jun 1 08:02:27 2015 From: antoine at nagafix.co.uk (Antoine Martin) Date: Mon, 01 Jun 2015 14:02:27 +0700 Subject: [winswitch] crashing server In-Reply-To: <55673C35.9040805@fastbk.com> References: <55245084.5020205@fastbk.com> <730571777.3436624.1432630431342.JavaMail.yahoo@mail.yahoo.com> <5564518B.5090902@nagafix.co.uk> <5564B4D2.8040605@fastbk.com> <556587C3.10603@nagafix.co.uk> <55673C35.9040805@fastbk.com> Message-ID: <556C0383.3020705@nagafix.co.uk> On 28/05/15 23:03, basd wrote: > Um, yep. I can consistently crash my server. But, is it possible this has something to do with the > RPM build I made, such as if the .spec file was not correct? (openSuSE 13.2) If you can reproduce it, we can and will certainly fix it. A mismatch between the libraries used at build time and those available at runtime can cause crashes for example (webp had this issue recently): http://xpra.org/trac/ticket/848 > > On 05/27/2015 02:00 AM, Antoine Martin wrote: >> You should never be able to crash a server by launching an xterm or xephyr, sounds like a major >> bug somewhere. > _______________________________________________ > shifter-users mailing list > shifter-users at lists.devloop.org.uk > http://lists.devloop.org.uk/mailman/listinfo/shifter-users From antoine at nagafix.co.uk Mon Jun 1 08:09:05 2015 From: antoine at nagafix.co.uk (Antoine Martin) Date: Mon, 01 Jun 2015 14:09:05 +0700 Subject: [winswitch] xpra build error In-Reply-To: <5569E1CB.7020801@fastbk.com> References: <55245084.5020205@fastbk.com> <730571777.3436624.1432630431342.JavaMail.yahoo@mail.yahoo.com> <5564518B.5090902@nagafix.co.uk> <5564B4D2.8040605@fastbk.com> <5564E2DB.2080202@fastbk.com> <5569E1CB.7020801@fastbk.com> Message-ID: <556C0511.4040401@nagafix.co.uk> On 30/05/15 23:14, daltrey wrote: > Is this something that can be fixed? Yes, either: 1) use ffmpeg and not libav 2) use the 0.14.x branch with whatever libav patches are needed for your specific libav version: http://xpra.org/trac/browser/xpra/tags/v0.14.x/src/patches > Revised spec file has better set of "Requires" and builds on openSuSE > 13.1 but I get the following on openSuSE 13.2. Maybe I have an > uninstalled build dependency? If so, rpmbuild does not give me that > error... > > I will re-check and let you know. > > building 'xpra.codecs.dec_avcodec.decoder' extension > creating build/temp.linux-x86_64-2.7/xpra/codecs/dec_avcodec > gcc -pthread -fno-strict-aliasing -fmessage-length=0 > -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector > -funwind-tables -fasynchronous-unwind-tables -g -DNDEBUG > -fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 > -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g > -DOPENSSL_LOAD_CONF -fPIC -I/usr/include/python2.7 -c > xpra/codecs/dec_avcodec/decoder.c -o > build/temp.linux-x86_64-2.7/xpra/codecs/dec_avcodec/decoder.o -Wall > -Werror=implicit-function-declaration -fPIC > xpra/codecs/dec_avcodec/decoder.c: In function 'initdecoder': > xpra/codecs/dec_avcodec/decoder.c:11087:45: error: 'AV_PIX_FMT_YUV420P' > undeclared (first use in this function) > __pyx_t_1 = __Pyx_PyInt_From_unsigned_int(AV_PIX_FMT_YUV420P); if > (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 13; > __pyx_clineno = __LINE__; goto __pyx_L1_error;} (snip) Antoine From antoine at nagafix.co.uk Mon Jun 1 08:31:54 2015 From: antoine at nagafix.co.uk (Antoine Martin) Date: Mon, 01 Jun 2015 14:31:54 +0700 Subject: [winswitch] Xpra man page confusion: compression level and compressor In-Reply-To: References: Message-ID: <556C0A6A.7010100@nagafix.co.uk> On 29/05/15 12:15, Jiang Qian wrote: > Perhaps I am missing something, but this line in the entry about > --compress=LEVEL in the manpage of xpra confuses me: > "If lz4 compression is available, it will be enabled *when the level > is set to 1*, lz4 compresses a lot less than zlib but it is also much > faster." I have updated the man page to try to make it clearer: http://xpra.org/trac/changeset/9562 lz4 and lzo only support compress=0 (disabled) and compress=1 (enabled). > I use RBG encoding, and I certainly have lz4 compression available. I > enable them in command line by "--encoding=rgb --compressor=lz4" > Does that mean I need to put "--compress=1" to set compression level > to 1 in order for xpra to use lz4? What will happen if I put > > --compress=0 --compressor=lz4? With "0", the compressor will be ignored. > What about > --compress=3 --compressor=lz4? The result with be the same as "--compress=1" lz4 does not have levels yet, though this may change in the future: http://fastcompression.blogspot.com/2015/04/sampling-or-faster-lz4.html > I am using xpra over a gigabit lan, but on a weaker client side > processor (the server have very powerful processor). I want rgb for > display quality. I watch flash videos (e.g. nytimes, daily show) that > are too slow to play on the client side, obviously with sound. Note: your videos are already lossy and subsampled when sent to you over the Internet, so it is usually best to select the h264 (or vp9 encoding with xpra 0.15.x): the video encoding should be used for the video area and rgb (or png or whatever) should automatically be used for the rest. Unless you are absolutely certain that you are CPU constrained and have bandwidth to spare. > So are > > --encode=rgb --packet-encoder=rencode --compress=1 --compresspr=lz4 > --speaker-encoder=wav > > the best options to have? It also depends on the video size and refresh rate. 480p at 30fps should be fine without any compression at all, but lz4 will save tons of bandwidth for very little cost. For 1080p on the other hand... you will probably need h264 (preferably via nvenc, but x264 will do too) on its highest speed setting (100). The video encoders are extremely efficient, and often underestimated. Also make sure your client has OpenGL enabled, as this speeds up the displaying of your video, which allows for more time doing the decoding / decompression / network. > Right now there are occassional lags and out > of sync in sound. The syncing of audio and video should land in the next release: http://xpra.org/trac/ticket/835 > I'm running 0.14.24 on both server and clients, both > running Ubuntu 14.04. I only forward individual window, not whole > desktop. And yes, I use xvfb. Try 0.15.0 ;) Antoine > > Thanks in advance for any advice. > > Regards > Jiang > _______________________________________________ > shifter-users mailing list > shifter-users at lists.devloop.org.uk > http://lists.devloop.org.uk/mailman/listinfo/shifter-users From fhenryco at yahoo.fr Mon Jun 1 10:01:36 2015 From: fhenryco at yahoo.fr (=?UTF-8?Q?Fr=C3=A9d=C3=A9ric_Henry-Couannier?=) Date: Mon, 1 Jun 2015 09:01:36 +0000 (UTC) Subject: [winswitch] Xpra man page confusion: compression level and compressor In-Reply-To: References: Message-ID: <1907949902.3789463.1433149296439.JavaMail.yahoo@mail.yahoo.com> Hello Jiang, i'm curious. What kind of client are you using ? is it a kind of bananapi or raspberry pi, or odroid...?I'm interested in such low cost client solutions with xpra, but unfortunately so far it's too slow with my odroid (the most powerful low cost small board as far as i know and profiled for video applications) because xpra does not support opengl-es. But may be it will work fine with other boards i dont know about. Fred Le Dimanche 31 mai 2015 11h59, Jiang Qian a ?crit : Perhaps I am missing something, but this line in the entry about --compress=LEVEL in the manpage of xpra confuses me: "If lz4 compression is available, it will be enabled *when the level is set to 1*, lz4 compresses a lot less than zlib but it is also much faster." I use RBG encoding, and I certainly have lz4 compression available. I enable them in command line by "--encoding=rgb --compressor=lz4" Does that mean I need to put "--compress=1" to set compression level to 1 in order for xpra to use lz4? What will happen if I put --compress=0 --compressor=lz4? What about --compress=3 --compressor=lz4? I am using xpra over a gigabit lan, but on a weaker client side processor (the server have very powerful processor). I want rgb for display quality. I watch flash videos (e.g. nytimes, daily show) that are too slow to play on the client side, obviously with sound. So are --encode=rgb --packet-encoder=rencode --compress=1 --compresspr=lz4 --speaker-encoder=wav the best options to have? Right now there are occassional lags and out of sync in sound. I'm running 0.14.24 on both server and clients, both running Ubuntu 14.04. I only forward individual window, not whole desktop. And yes, I use xvfb. Thanks in advance for any advice. Regards Jiang _______________________________________________ shifter-users mailing list shifter-users at lists.devloop.org.uk http://lists.devloop.org.uk/mailman/listinfo/shifter-users From basd1 at fastbk.com Mon Jun 1 22:51:46 2015 From: basd1 at fastbk.com (basd) Date: Mon, 01 Jun 2015 14:51:46 -0700 Subject: [winswitch] xpra build error In-Reply-To: <556C0511.4040401@nagafix.co.uk> References: <55245084.5020205@fastbk.com> <730571777.3436624.1432630431342.JavaMail.yahoo@mail.yahoo.com> <5564518B.5090902@nagafix.co.uk> <5564B4D2.8040605@fastbk.com> <5564E2DB.2080202@fastbk.com> <5569E1CB.7020801@fastbk.com> <556C0511.4040401@nagafix.co.uk> Message-ID: <556CD3F2.6020808@fastbk.com> Installed fmpeg and ffmpeg-devel so the rpmbuild and install work now. Plus, exits from Winswitch/Xpra are not crashing my server anymore. Thanks! (I did not think I was doing anything that selected EITHER ffmpeg OR libav, but in any event ffmpeg was not in my "Requires" -- it was already installed on one computer, but not the other.) On 06/01/2015 12:09 AM, Antoine Martin wrote: > On 30/05/15 23:14, daltrey wrote: >> Is this something that can be fixed? > Yes, either: > 1) use ffmpeg and not libav > 2) use the 0.14.x branch with whatever libav patches are needed for your specific libav version: From antoine at nagafix.co.uk Tue Jun 2 06:54:45 2015 From: antoine at nagafix.co.uk (Antoine Martin) Date: Tue, 02 Jun 2015 12:54:45 +0700 Subject: [winswitch] xpra build error In-Reply-To: <556CD3F2.6020808@fastbk.com> References: <55245084.5020205@fastbk.com> <730571777.3436624.1432630431342.JavaMail.yahoo@mail.yahoo.com> <5564518B.5090902@nagafix.co.uk> <5564B4D2.8040605@fastbk.com> <5564E2DB.2080202@fastbk.com> <5569E1CB.7020801@fastbk.com> <556C0511.4040401@nagafix.co.uk> <556CD3F2.6020808@fastbk.com> Message-ID: <556D4525.4060605@nagafix.co.uk> On 02/06/15 04:51, basd wrote: > Installed fmpeg and ffmpeg-devel so the rpmbuild and install work now. > > Plus, exits from Winswitch/Xpra are not crashing my server anymore. My best guess is that until you installed ffmpeg, you were using other fallback modules for image processing: either our own cython csc module, the pyopencl one, or maybe the vpx encoder. One of those may contain a corruption bug which would cause crashes. If so, you should be able to reproduce the problem by selecting which video encoders and csc modules are activated, ie: xpra start --video-encoders=vpx --csc-modules=opencl Please try to reproduce it: the fact that the problem is no longer occurring does not mean that the bug is gone, it is simply not triggered. And it may trigger later... > Thanks! > > (I did not think I was doing anything that selected EITHER ffmpeg OR libav, but in any event ffmpeg > was not in my "Requires" -- it was already installed on one computer, but not the other.) The build system will pick up the libraries installed and build as many of the optional modules as it can. Antoine > > > On 06/01/2015 12:09 AM, Antoine Martin wrote: >> On 30/05/15 23:14, daltrey wrote: >>> Is this something that can be fixed? >> Yes, either: >> 1) use ffmpeg and not libav >> 2) use the 0.14.x branch with whatever libav patches are needed for your specific libav version: > > _______________________________________________ > shifter-users mailing list > shifter-users at lists.devloop.org.uk > http://lists.devloop.org.uk/mailman/listinfo/shifter-users From antoine at nagafix.co.uk Tue Jun 2 11:08:18 2015 From: antoine at nagafix.co.uk (Antoine Martin) Date: Tue, 02 Jun 2015 17:08:18 +0700 Subject: [winswitch] [ANNOUNCE] [LTS] xpra 0.14.25 (one important fix) Message-ID: <556D8092.7030106@nagafix.co.uk> Hi, This minor update includes a fix for an important bug which can cause the xpra command to exit without running the necessary cleanups, potentially leaving things behind, in particular its virtual display. This update also completely removes NVENC from the 0.14.x branch: as was mentioned previously, due to structural problems the code just could not be made reliable for all uses cases in that branch. It also fixes compatibility with yet another location used by Fedora 22 for its Xorg binary. None of these bugs affect the new 0.15 branch. This is only for those who cannot upgrade to the 0.15 branch, for whatever reason. 0.14.25 release notes: * fix exit path error causing failure to run cleanups * fix microphone forwarding packet handling errors * fix remote ssh start with OSX clients * fix spinners race * fix Fedora 22 Xorg binary location detection * fix Fedora 22 missing void driver * remove nvenc The source: https://xpra.org/src/ Binaries/repositories: https://winswitch.org/downloads/ Direct binary downloads: https://xpra.org/dists/ Beta: https://xpra.org/beta/ Cheers Antoine From devurandom at gmx.net Tue Jun 2 11:18:12 2015 From: devurandom at gmx.net (Dennis Schridde) Date: Tue, 2 Jun 2015 12:18:12 +0200 Subject: [winswitch] bug: xpra 0.15.0 for Debian has wrong paths in /etc/xpra/xpra.conf Message-ID: Hello! The xpra 0.15.0 package for Debian has wrong paths in /etc/xpra/xpra.conf. It sets: xvfb=/usr/bin/Xorg -noreset -nolisten tcp +extension GLX +extension RANDR +extension RENDER -logfile ${HOME}/.xpra/Xorg.${DISPLAY}.log -config /tags/v0.15.x/src/debian/tmp/etc/xpra/xorg.conf Correct would be: xvfb=Xorg -noreset -nolisten tcp +extension GLX +extension RANDR +extension RENDER -logfile ${HOME}/.xpra/Xorg.${DISPLAY}.log -config /etc/xpra/xorg.conf Best regards, Dennis From antoine at nagafix.co.uk Tue Jun 2 11:26:01 2015 From: antoine at nagafix.co.uk (Antoine Martin) Date: Tue, 02 Jun 2015 17:26:01 +0700 Subject: [winswitch] bug: xpra 0.15.0 for Debian has wrong paths in /etc/xpra/xpra.conf In-Reply-To: References: Message-ID: <556D84B9.9030002@nagafix.co.uk> On 02/06/15 17:18, Dennis Schridde wrote: > Hello! > > The xpra 0.15.0 package for Debian has wrong paths in /etc/xpra/xpra.conf. Which version of Debian are you running? > It sets: > xvfb=/usr/bin/Xorg -noreset -nolisten tcp +extension GLX +extension RANDR +extension RENDER -logfile ${HOME}/.xpra/Xorg.${DISPLAY}.log -config /tags/v0.15.x/src/debian/tmp/etc/xpra/xorg.conf > > Correct would be: > xvfb=Xorg -noreset -nolisten tcp +extension GLX +extension RANDR +extension RENDER -logfile ${HOME}/.xpra/Xorg.${DISPLAY}.log -config /etc/xpra/xorg.conf How would that be more correct? We try very hard to make sure that we use the correct Xorg binary, not a wrapper or script. (of which there are many!) The build figured out that this file was the right one to use. Is it not? Cheers Antoine > > Best regards, > Dennis > _______________________________________________ > shifter-users mailing list > shifter-users at lists.devloop.org.uk > http://lists.devloop.org.uk/mailman/listinfo/shifter-users From antoine at nagafix.co.uk Tue Jun 2 11:43:44 2015 From: antoine at nagafix.co.uk (Antoine Martin) Date: Tue, 02 Jun 2015 17:43:44 +0700 Subject: [winswitch] bug: xpra 0.15.0 for Debian has wrong paths in /etc/xpra/xpra.conf In-Reply-To: <556D84B9.9030002@nagafix.co.uk> References: <556D84B9.9030002@nagafix.co.uk> Message-ID: <556D88E0.3090705@nagafix.co.uk> On 02/06/15 17:26, Antoine Martin wrote: > On 02/06/15 17:18, Dennis Schridde wrote: >> Hello! >> >> The xpra 0.15.0 package for Debian has wrong paths in >> /etc/xpra/xpra.conf. > Which version of Debian are you running? >> It sets: >> xvfb=/usr/bin/Xorg -noreset -nolisten tcp +extension GLX +extension >> RANDR +extension RENDER -logfile ${HOME}/.xpra/Xorg.${DISPLAY}.log >> -config /tags/v0.15.x/src/debian/tmp/etc/xpra/xorg.conf >> >> Correct would be: >> xvfb=Xorg -noreset -nolisten tcp +extension GLX +extension RANDR >> +extension RENDER -logfile ${HOME}/.xpra/Xorg.${DISPLAY}.log -config >> /etc/xpra/xorg.conf > How would that be more correct? > We try very hard to make sure that we use the correct Xorg binary, not > a wrapper or script. (of which there are many!) > The build figured out that this file was the right one to use. Is it not? Oh, never mind - just figured it out. You are talking about the etc file at the end and not the Xorg binary... Looking at it now. Cheers Antoine From dougdoole at gmail.com Tue Jun 2 14:39:25 2015 From: dougdoole at gmail.com (Douglas Doole) Date: Tue, 02 Jun 2015 13:39:25 +0000 Subject: [winswitch] Tiny fonts with xpra 0.15.0 Message-ID: I just upgraded my xpra server to 0.15.0 and restarted xpra. Now when I open up text windows (konsole, gvim) the font is so small that it's illegible. (The client is running 0.15.0, but I didn't see this problem with the 0.15.0 client and 0.14.25 server. It was only after the server upgrade that the problem appeared.) I'm guessing that the DPI information is messed up. Is this a bug, or had I simply been getting away with a bad setting? If it's a bad setting, what am I missing? From antoine at nagafix.co.uk Tue Jun 2 14:59:45 2015 From: antoine at nagafix.co.uk (Antoine Martin) Date: Tue, 02 Jun 2015 20:59:45 +0700 Subject: [winswitch] Tiny fonts with xpra 0.15.0 In-Reply-To: References: Message-ID: <556DB6D1.1080806@nagafix.co.uk> On 02/06/15 20:39, Douglas Doole wrote: > I just upgraded my xpra server to 0.15.0 and restarted xpra. Now when I > open up text windows (konsole, gvim) the font is so small that it's > illegible. (The client is running 0.15.0, but I didn't see this problem > with the 0.15.0 client and 0.14.25 server. It was only after the server > upgrade that the problem appeared.) > > I'm guessing that the DPI information is messed up. Is this a bug, or had I > simply been getting away with a bad setting? If it's a bad setting, what am > I missing? Please specify what distribution you are using and if this is using Xvfb or Xdummy. We do synchronize more xsettings, but I would not have expected anything related to DPI to have changed. The server log shows what resolution is used and what DPI settings have been applied. Having xpra info is always useful too. Cheers Antoine From dougdoole at gmail.com Tue Jun 2 15:04:47 2015 From: dougdoole at gmail.com (Douglas Doole) Date: Tue, 02 Jun 2015 14:04:47 +0000 Subject: [winswitch] Tiny fonts with xpra 0.15.0 In-Reply-To: References: Message-ID: Oops, I lied ;-) The problem isn't in the 0.15.0 server. I just downgraded my server to 0.14.25 and the problem is still present. So it must have something to do with the different monitor at home vs. work. At home I'm just using my laptop's native display but at work I have an external monitor that I attach. System: Xpra version, platform and host information argv : ['/usr/bin/xpra', 'attach', 'ssh:reorx:1', '-d', 'window'] config.auto-refresh-delay : 0.15 config.clipboard : yes config.compression_level : 1 config.compressors : lz4, zlib, lzo config.csc-modules : all config.dbus-proxy : yes config.displayfd : yes config.encoding : png config.encodings : all config.env : ['UBUNTU_MENUPROXY=', 'QT_X11_NO_NATIVE_MENUBAR=1', 'MWNOCAPTURE=true', 'MWNO_RIT=true', 'MWWM=allwm'] config.exit-with-children : no config.file-size-limit : 10 config.file-transfer : yes config.idle-timeout : 0 config.input-method : none config.key-shortcut : ['Meta+Shift+F2:show_start_new_command', 'Meta+Shift+F4:quit', 'Meta+Shift+F8:magic_key', 'Meta+Shift+F11:show_session_info'] config.keyboard-sync : no config.log-file : $DISPLAY.log config.lpadmin : lpadmin config.mdns : yes config.microphone : no config.min-quality : 30 config.min-speed : 0 config.mmap : yes config.mmap-group : no config.notifications : yes config.open-files : no config.opengl : auto config.packet-encoders : rencode, bencode, yaml config.pings : no config.printing : yes config.pulseaudio : yes config.pulseaudio-command : pulseaudio --start --daemonize=false --system=false --exit-idle-time=-1 -n --load=module-suspend-on-idle --load=module-null-sink --load=module-native-protocol-unix --log-level=2 --log-target=stderr config.quality : auto config.remote-logging : no config.scaling : on config.sharing : no config.socket-permissions : 600 config.speaker : no config.speed : auto config.ssh : ssh -x config.start-new-commands : no config.system-tray : yes config.title : @title@ on @client-machine@ config.tray : yes config.video-decoders : all config.video-encoders : all config.wm-name : Xpra config.xvfb : Xvfb +extension Composite -screen 0 5760x2560x24+32 -nolisten tcp -noreset -auth $XAUTHORITY display.clipboard_persistence : False display.composite : True display.cursor_alpha : True display.cursor_color : True display.default_cursor_size : 25 display.devices : 5 display.devices[0] : Virtual core XTEST pointer display.devices[1] : HID 04b3:3108 display.devices[2] : TPPS/2 IBM TrackPoint display.devices[3] : Logitech Unifying Device. Wireless PID:1028 display.devices[4] : Core Pointer display.maximal_cursor_size : (64, 64) display.name : :0 display.pointer : (735, 675) display.pointer_is_grabbed : False display.screen[0].fontoptions.antialias : subpixel display.screen[0].fontoptions.hint_metrics : on display.screen[0].fontoptions.hint_style : medium display.screen[0].fontoptions.subpixel_order : RGB display.screen[0].height : 1200 display.screen[0].height_mm : 317 display.screen[0].monitor[0].height : 900 display.screen[0].monitor[0].height_mm : 174 display.screen[0].monitor[0].plug_name : LVDS1 display.screen[0].monitor[0].width : 1600 display.screen[0].monitor[0].width_mm : 309 display.screen[0].monitor[0].x : 0 display.screen[0].monitor[0].y : 0 display.screen[0].monitor[1].height : 1200 display.screen[0].monitor[1].height_mm : 296 display.screen[0].monitor[1].plug_name : VGA1 display.screen[0].monitor[1].width : 1920 display.screen[0].monitor[1].width_mm : 474 display.screen[0].monitor[1].x : 1600 display.screen[0].monitor[1].y : 0 display.screen[0].monitors : 2 display.screen[0].name : :0.0 display.screen[0].primary_monitor : 0 display.screen[0].resolution : 96 display.screen[0].rgb.bits_per_rgb : 8 display.screen[0].rgb.byte_order : LSB display.screen[0].rgb.colormap_size : 256 display.screen[0].rgb.depth : 24 display.screen[0].rgb.visual_type : TRUE_COLOR display.screen[0].rgba.bits_per_rgb : 8 display.screen[0].rgba.byte_order : LSB display.screen[0].rgba.colormap_size : 256 display.screen[0].rgba.depth : 32 display.screen[0].rgba.visual_type : TRUE_COLOR display.screen[0].settings.antialias : 1 display.screen[0].settings.dpi : 98459 display.screen[0].settings.hinting : 1 display.screen[0].settings.hintstyle : hintmedium display.screen[0].settings.rgba : rgb display.screen[0].system_visual.bits_per_rgb : 8 display.screen[0].system_visual.byte_order : LSB display.screen[0].system_visual.colormap_size : 256 display.screen[0].system_visual.depth : 24 display.screen[0].system_visual.visual_type : TRUE_COLOR display.screen[0].visuals : 20 display.screen[0].width : 3520 display.screen[0].width_mm : 929 display.screens : 1 display.selection_notification : True display.shapes : True env.CLASSPATH : /home/doole/sqllib/java/db2java.zip:/home/doole/sqllib/java/sqlj.zip:/home/doole/sqllib/function:/home/doole/sqllib/java/db2jcc_license_cu.jar:/home/doole/sqllib/tools/clpplus.jar:/home/doole/sqllib/tools/jline-0.9.93.jar:/home/doole/sqllib/java/db2jcc.jar:. env.DB2INSTANCE : doole env.DB2LIB : /home/doole/sqllib/lib env.DB2_HOME : /home/doole/sqllib env.DBUS_SESSION_BUS_ADDRESS : unix:abstract=/tmp/dbus-O7Euoko6Bo env.DEFAULTS_PATH : /usr/share/gconf/kde-plasma.default.path env.DESKTOP_SESSION : kde-plasma env.DESKTOP_STARTUP_ID : andammo;1433253543;727792;3126_TIME4948318 env.DISPLAY : :0 env.GDMSESSION : kde-plasma env.GDM_LANG : en_CA env.GNOME_KEYRING_CONTROL : /run/user/1000/keyring-bXFhvT env.GNOME_KEYRING_PID : 2630 env.GPG_AGENT_INFO : /run/user/1000/keyring-bXFhvT/gpg:0:1 env.GS_LIB : /home/doole/.fonts env.GTK2_RC_FILES : /etc/gtk-2.0/gtkrc:/home/doole/.gtkrc-2.0:/home/doole/.kde/share/config/gtkrc-2.0 env.GTK_RC_FILES : /etc/gtk/gtkrc:/home/doole/.gtkrc:/home/doole/.kde/share/config/gtkrc env.HOME : /home/doole env.IBM_DB_DIR : /home/doole/sqllib env.IBM_DB_INCLUDE : /home/doole/sqllib/include env.IBM_DB_LIB : /home/doole/sqllib/lib env.IM_CONFIG_PHASE : 1 env.INSTANCE : env.JOB : dbus env.KDE_FULL_SESSION : true env.KDE_MULTIHEAD : false env.KDE_SESSION_UID : 1000 env.KDE_SESSION_VERSION : 4 env.LANG : en_CA.UTF-8 env.LANGUAGE : en_CA:en env.LD_LIBRARY_PATH : /home/doole/sqllib/lib64:/home/doole/sqllib/lib32 env.LOGNAME : doole env.MANDATORY_PATH : /usr/share/gconf/kde-plasma.mandatory.path env.PAM_KWALLET_LOGIN : /tmp//doole.socket env.PATH : .:/home/doole/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/doole/sqllib/bin:/home/doole/sqllib/adm:/home/doole/sqllib/misc env.PDHOST : env.PD_SOCKET : 6874 env.PULSE_PROP_application.icon_name : /usr/share/xpra/icons/xpra.png env.PULSE_PROP_application.name : xpra env.PULSE_PROP_media.role : music env.PWD : /home/doole env.QT_PLUGIN_PATH : /home/doole/.kde/lib/kde4/plugins/:/usr/lib/kde4/plugins/ env.SELINUX_INIT : YES env.SESSION : kde-plasma env.SESSIONTYPE : env.SESSION_MANAGER : local/andammo:@ /tmp/.ICE-unix/3098,unix/andammo:/tmp/.ICE-unix/3098 env.SHELL : /bin/bash env.SHLVL : 0 env.SSH_AUTH_SOCK : /run/user/1000/keyring-bXFhvT/ssh env.TEXTDOMAIN : im-config env.TEXTDOMAINDIR : /usr/share/locale/ env.UPSTART_EVENTS : started xsession env.UPSTART_INSTANCE : env.UPSTART_JOB : startkde env.UPSTART_SESSION : unix:abstract=/com/ubuntu/upstart-session/1000/2633 env.USER : doole env.XAUTHORITY : /tmp/kde-doole/xauth-1000-_0 env.XCURSOR_SIZE : 0 env.XCURSOR_THEME : oxy-white env.XDG_CONFIG_DIRS : /etc/xdg/xdg-kde-plasma:/usr/share/upstart/xdg:/etc/xdg env.XDG_CURRENT_DESKTOP : KDE env.XDG_DATA_DIRS : /usr/share:/usr/share/kde-plasma:/usr/local/share/:/usr/share/ env.XDG_GREETER_DATA_DIR : /var/lib/lightdm-data/doole env.XDG_RUNTIME_DIR : /run/user/1000 env.XDG_SEAT : seat0 env.XDG_SEAT_PATH : /org/freedesktop/DisplayManager/Seat0 env.XDG_SESSION_ID : c2 env.XDG_SESSION_PATH : /org/freedesktop/DisplayManager/Session0 env.XDG_VTNR : 7 exec_prefix : /usr executable : /usr/bin/python gtk.cairo.version : 1.8.8 gtk.gdk.version : 2.24.0 gtk.glib.version : (2, 40, 2) gtk.gobject.version : (2, 28, 6) gtk.gtk.version : (2, 24, 23) gtk.pango.version : 1.36.3 gtk.pyglib.version : (2, 28, 6) gtk.pygtk.version : (2, 24, 0) gui.desktop_names : ['Desktop 1', 'Desktop 2', 'Desktop 3', 'Desktop 4'] gui.desktops : 4 gui.double_click.distance : (-1, -1) gui.double_click.time : -1 gui.dpi : 58 gui.dpi.randr : (44, 72) gui.dpi.x : 44 gui.dpi.xsettings : -1 gui.dpi.y : 72 gui.fixed_cursor_size : (-1, -1) gui.icon_size : 16 gui.native_notifiers : ['DBUS_Notifier_factory', 'PyNotify_Notifier'] gui.native_system_trays : [] gui.native_tray_menu_helpers : [] gui.native_trays : [] gui.system_bell : system_bell gui.vertical-refresh : 60 gui.workarea : (113, 0, 3407, 1200) gui.workareas : [] host.byteorder : little host.gid : 1000 host.hostname : andammo host.pid : 22416 host.python.full_version : 2.7.6 (default, Mar 22 2014, 22:59:56) \n[GCC 4.8.2] host.python.version : (2, 7, 6) host.uid : 1000 path : ['/usr/bin', '/usr/bin', '/usr/bin', '/usr/lib/python2.7/dist-packages/gst-0.10', '/usr/bin', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages/PILcompat', '/usr/lib/python2.7/dist-packages/gtk-2.0', '/usr/lib/python2.7/dist-packages/ubuntu-sso-client'] paths.app.default.dir : /usr/share/xpra paths.app.dir : /usr/share/xpra paths.home : /home/doole paths.icons : /usr/share/xpra/icons paths.install.prefix : /usr paths.resources : /usr/share/xpra paths.socket : ~/.xpra paths.sound_executable : xpra paths.system_conf.dir : /etc/xpra paths.user_conf.dir : ~/.xpra platform : linux2 platform.architecture : ('64bit', 'ELF') platform.linux_distribution : ('Ubuntu', '14.04', 'trusty') platform.machine : x86_64 platform.name : Linux platform.platform : Linux-3.13.0-53-generic-x86_64-with-Ubuntu-14.04-trusty platform.processor : Intel(R) Core(TM) i5-3360M CPU @ 2.80GHz platform.release : 3.13.0-53-generic user.name : Doug Doole user.username : doole version.bit : 64bit version.by : buildbot version.compiler : gcc-4.8.real (Ubuntu 4.8.2-19ubuntu1) 4.8.2 version.cpu : x86_64 version.cython : 0.21 version.date : 2015-05-31 version.linker : GNU ld (GNU Binutils for Ubuntu) 2.24 version.local_modifications : 0 version.on : winswitch.org version.python : (2, 7, 6) version.revision : 9556 version.time : 05:43 version.version : 0.15.0 Network: Compression, packet encoding and encryption bencode : True bencode.version : ('Cython', 0, 11) chunked_compression : True compressors : ['zlib', 'lzo'] digest : ('hmac', 'xor') encoders : ['bencode', 'rencode'] interfaces : ['lo', 'eth0', 'wlan0'] lz4 : False lzo : True lzo.version : 2.06 mmap : True pycrypto : True pycrypto.fastmath : True pycrypto.version : 2.6.1 raw_packets : True rencode : True rencode.version : ('Cython', 1, 0, 3) yaml : False zlib : True zlib.version : 1.0 Encodings: Picture encodings supported PIL : 2.3.0 cython : (0, 3, '0', '21') dec_webp : (0, 4, 0) enc_webp : (0, 4, 0) numpy : 1.8.2 swscale : (2, 1, 1) vpx : v1.3.0 x264 : 142 OpenGL: OpenGL driver and features GLU extensions : GLU_EXT_nurbs_tessellator GLU_EXT_object_space_tess GLU version : 1.3 display_mode : ['ALPHA', 'SINGLE'] extensions : [u'GL_ARB_multisample', u'GL_EXT_abgr', u'GL_EXT_bgra', u'GL_EXT_blend_color', u'GL_EXT_blend_minmax', u'GL_EXT_blend_subtract', u'GL_EXT_copy_texture', u'GL_EXT_polygon_offset', u'GL_EXT_subtexture', u'GL_EXT_texture_object', u'GL_EXT_vertex_array', u'GL_EXT_compiled_vertex_array', u'GL_EXT_texture', u'GL_EXT_texture3D', u'GL_IBM_rasterpos_clip', u'GL_ARB_point_parameters', u'GL_EXT_draw_range_elements', u'GL_EXT_packed_pixels', u'GL_EXT_point_parameters', u'GL_EXT_rescale_normal', u'GL_EXT_separate_specular_color', u'GL_EXT_texture_edge_clamp', u'GL_SGIS_generate_mipmap', u'GL_SGIS_texture_border_clamp', u'GL_SGIS_texture_edge_clamp', u'GL_SGIS_texture_lod', u'GL_ARB_framebuffer_sRGB', u'GL_ARB_multitexture', u'GL_EXT_framebuffer_sRGB', u'GL_IBM_multimode_draw_arrays', u'GL_IBM_texture_mirrored_repeat', u'GL_3DFX_texture_compression_FXT1', u'GL_ARB_texture_cube_map', u'GL_ARB_texture_env_add', u'GL_ARB_transpose_matrix', u'GL_EXT_blend_func_separate', u'GL_EXT_fog_coord', u'GL_EXT_multi_draw_arrays', u'GL_EXT_secondary_color', u'GL_EXT_texture_env_add', u'GL_EXT_texture_filter_anisotropic', u'GL_EXT_texture_lod_bias', u'GL_INGR_blend_func_separate', u'GL_NV_blend_square', u'GL_NV_light_max_exponent', u'GL_NV_texgen_reflection', u'GL_NV_texture_env_combine4', u'GL_S3_s3tc', u'GL_SUN_multi_draw_arrays', u'GL_ARB_texture_border_clamp', u'GL_ARB_texture_compression', u'GL_EXT_framebuffer_object', u'GL_EXT_texture_compression_s3tc', u'GL_EXT_texture_env_combine', u'GL_EXT_texture_env_dot3', u'GL_MESA_window_pos', u'GL_NV_packed_depth_stencil', u'GL_NV_texture_rectangle', u'GL_ARB_depth_texture', u'GL_ARB_occlusion_query', u'GL_ARB_shadow', u'GL_ARB_texture_env_combine', u'GL_ARB_texture_env_crossbar', u'GL_ARB_texture_env_dot3', u'GL_ARB_texture_mirrored_repeat', u'GL_ARB_window_pos', u'GL_ATI_envmap_bumpmap', u'GL_EXT_stencil_two_side', u'GL_EXT_texture_cube_map', u'GL_NV_depth_clamp', u'GL_APPLE_packed_pixels', u'GL_APPLE_vertex_array_object', u'GL_ARB_draw_buffers', u'GL_ARB_fragment_program', u'GL_ARB_fragment_shader', u'GL_ARB_shader_objects', u'GL_ARB_vertex_program', u'GL_ARB_vertex_shader', u'GL_ATI_draw_buffers', u'GL_ATI_texture_env_combine3', u'GL_ATI_texture_float', u'GL_EXT_shadow_funcs', u'GL_EXT_stencil_wrap', u'GL_MESA_pack_invert', u'GL_NV_primitive_restart', u'GL_ARB_depth_clamp', u'GL_ARB_fragment_program_shadow', u'GL_ARB_half_float_pixel', u'GL_ARB_occlusion_query2', u'GL_ARB_point_sprite', u'GL_ARB_shading_language_100', u'GL_ARB_sync', u'GL_ARB_texture_non_power_of_two', u'GL_ARB_vertex_buffer_object', u'GL_ATI_blend_equation_separate', u'GL_EXT_blend_equation_separate', u'GL_OES_read_format', u'GL_ARB_color_buffer_float', u'GL_ARB_pixel_buffer_object', u'GL_ARB_texture_compression_rgtc', u'GL_ARB_texture_float', u'GL_ARB_texture_rectangle', u'GL_EXT_packed_float', u'GL_EXT_pixel_buffer_object', u'GL_EXT_texture_compression_dxt1', u'GL_EXT_texture_compression_rgtc', u'GL_EXT_texture_rectangle', u'GL_EXT_texture_sRGB', u'GL_EXT_texture_shared_exponent', u'GL_ARB_framebuffer_object', u'GL_EXT_framebuffer_blit', u'GL_EXT_framebuffer_multisample', u'GL_EXT_packed_depth_stencil', u'GL_APPLE_object_purgeable', u'GL_ARB_vertex_array_object', u'GL_ATI_separate_stencil', u'GL_EXT_draw_buffers2', u'GL_EXT_draw_instanced', u'GL_EXT_gpu_program_parameters', u'GL_EXT_texture_array', u'GL_EXT_texture_integer', u'GL_EXT_texture_sRGB_decode', u'GL_EXT_timer_query', u'GL_OES_EGL_image', u'GL_AMD_performance_monitor', u'GL_ARB_copy_buffer', u'GL_ARB_depth_buffer_float', u'GL_ARB_draw_instanced', u'GL_ARB_half_float_vertex', u'GL_ARB_instanced_arrays', u'GL_ARB_map_buffer_range', u'GL_ARB_texture_rg', u'GL_ARB_texture_swizzle', u'GL_ARB_vertex_array_bgra', u'GL_EXT_separate_shader_objects', u'GL_EXT_texture_swizzle', u'GL_EXT_vertex_array_bgra', u'GL_NV_conditional_render', u'GL_AMD_conservative_depth', u'GL_AMD_draw_buffers_blend', u'GL_AMD_seamless_cubemap_per_texture', u'GL_ARB_ES2_compatibility', u'GL_ARB_blend_func_extended', u'GL_ARB_debug_output', u'GL_ARB_draw_buffers_blend', u'GL_ARB_draw_elements_base_vertex', u'GL_ARB_explicit_attrib_location', u'GL_ARB_fragment_coord_conventions', u'GL_ARB_provoking_vertex', u'GL_ARB_sample_shading', u'GL_ARB_sampler_objects', u'GL_ARB_seamless_cube_map', u'GL_ARB_shader_texture_lod', u'GL_ARB_texture_cube_map_array', u'GL_ARB_texture_gather', u'GL_ARB_texture_multisample', u'GL_ARB_texture_query_lod', u'GL_ARB_texture_rgb10_a2ui', u'GL_ARB_uniform_buffer_object', u'GL_ARB_vertex_type_2_10_10_10_rev', u'GL_EXT_provoking_vertex', u'GL_EXT_texture_snorm', u'GL_MESA_texture_signed_rgba', u'GL_ARB_get_program_binary', u'GL_ARB_robustness', u'GL_ARB_shader_bit_encoding', u'GL_ARB_timer_query', u'GL_ARB_transform_feedback2', u'GL_ARB_transform_feedback3', u'GL_ANGLE_texture_compression_dxt3', u'GL_ANGLE_texture_compression_dxt5', u'GL_ARB_conservative_depth', u'GL_ARB_internalformat_query', u'GL_ARB_map_buffer_alignment', u'GL_ARB_shader_atomic_counters', u'GL_ARB_shading_language_420pack', u'GL_ARB_shading_language_packing', u'GL_ARB_texture_storage', u'GL_ARB_transform_feedback_instanced', u'GL_EXT_framebuffer_multisample_blit_scaled', u'GL_EXT_transform_feedback', u'GL_AMD_shader_trinary_minmax', u'GL_ARB_ES3_compatibility', u'GL_ARB_clear_buffer_object', u'GL_ARB_invalidate_subdata', u'GL_ARB_texture_query_levels', u'GL_ARB_texture_storage_multisample', u'GL_ARB_vertex_attrib_binding', u'GL_KHR_debug', u'GL_ARB_texture_mirror_clamp_to_edge', u'GL_ARB_vertex_type_10f_11f_11f_rev', u'GL_EXT_shader_integer_mix', u''] gdkgl.version : (1, 4) gdkglext.version : (1, 2, 0) glconfig : gtkglext.version : (1, 2, 0) has_alpha : True opengl : (3, 0) pygdkglext.version : (1, 1, 0) pyopengl : 3.0.2 renderer : Mesa DRI Intel(R) Ivybridge Mobile rgba : True safe : True shading language version : 1.30 vendor : Intel Open Source Technology Center zerocopy : False Sound: Sound codecs and GStreamer version information decoders : [] encoders : [] gst.version : (0, 10, 36) plugins : ['3gppmux', 'a52dec', 'aacparse', 'aasink', 'ac3iec958', 'ac3parse', 'adder', 'adpcmdec', 'adpcmenc', 'agingtv', 'aiffmux', 'aiffparse', 'alawdec', 'alawenc', 'alpha', 'alphacolor', 'alsamixer', 'alsasink', 'alsasrc', 'amrnbdec', 'amrnbenc', 'amrparse', 'amrwbdec', 'apedemux', 'apev2mux', 'apexsink', 'appsink', 'appsrc', 'asfdemux', 'asfmux', 'asfparse', 'aspectratiocrop', 'assrender', 'asteriskh263', 'audioamplify', 'audiochebband', 'audiocheblimit', 'audioconvert', 'audiodynamic', 'audioecho', 'audiofirfilter', 'audioiirfilter', 'audioinvert', 'audiokaraoke', 'audiopanorama', 'audioparse', 'audiorate', 'audioresample', 'audiosegmentclip', 'audiotestsrc', 'audiowsincband', 'audiowsinclimit', 'auparse', 'autoaudiosink', 'autoaudiosrc', 'autoconvert', 'autovideoconvert', 'autovideosink', 'autovideosrc', 'avidemux', 'avimux', 'avisubtitle', 'bayer2rgb', 'bin', 'bpmdetect', 'breakmydata', 'bulge', 'burn', 'bz2dec', 'bz2enc', 'cacasink', 'cairooverlay', 'cairorender', 'cairotextoverlay', 'cairotimeoverlay', 'camerabin', 'camerabin2', 'capsdebug', 'capsfilter', 'capssetter', 'cdaudio', 'cdiocddasrc', 'cdparanoiasrc', 'cdxaparse', 'checksumsink', 'chopmydata', 'chromahold', 'chromium', 'circle', 'clockoverlay', 'cmmldec', 'cmmlenc', 'cogcolorconvert', 'cogcolorspace', 'cogdownsample', 'coglogoinsert', 'cogmse', 'cogscale', 'coloreffects', 'colorspace', 'compare', 'cpureport', 'curlsink', 'cutter', 'dataurisrc', 'dc1394src', 'dcaparse', 'dccpclientsink', 'dccpclientsrc', 'dccpserversink', 'dccpserversrc', 'debugspy', 'decklinksink', 'decklinksrc', 'decodebin', 'decodebin2', 'deinterlace', 'deinterleave', 'dfbvideosink', 'dicetv', 'diffuse', 'dilate', 'diracenc', 'diracparse', 'dodge', 'dtmfdetect', 'dtmfsrc', 'dtsdec', 'dv1394src', 'dvbbasebin', 'dvbsrc', 'dvbsuboverlay', 'dvddemux', 'dvdec', 'dvdemux', 'dvdlpcmdec', 'dvdreadsrc', 'dvdspu', 'dvdsubdec', 'dvdsubparse', 'dynudpsink', 'edgetv', 'efence', 'encodebin', 'equalizer-10bands', 'equalizer-3bands', 'equalizer-nbands', 'exclusion', 'faac', 'faad', 'faceoverlay', 'fakesink', 'fakesrc', 'fbdevsink', 'fdsink', 'fdsrc', 'festival', 'ffmpegcolorspace', 'fieldanalysis', 'filesink', 'filesrc', 'fisheye', 'flacdec', 'flacenc', 'flacparse', 'flactag', 'flitetestsrc', 'flump3dec', 'flvdemux', 'flvmux', 'flxdec', 'fpsdisplaysink', 'freeverb', 'freeze', 'fsfunnel', 'fsmsncamrecvconference', 'fsmsncamsendconference', 'fsrawconference', 'fsrtcpfilter', 'fsrtpconference', 'fsvideoanyrate', 'funnel', 'gamma', 'gaussianblur', 'gdkpixbufdec', 'gdkpixbufscale', 'gdkpixbufsink', 'gdpdepay', 'gdppay', 'giosink', 'giosrc', 'giostreamsink', 'giostreamsrc', 'gmedec', 'goom', 'goom2k1', 'gppmux', 'gsettingsaudiosink', 'gsettingsaudiosrc', 'gsettingsvideosink', 'gsettingsvideosrc', 'gsmdec', 'gsmenc', 'gstrtpbin', 'gstrtpjitterbuffer', 'gstrtpptdemux', 'gstrtpsession', 'gstrtpssrcdemux', 'h263parse', 'h264parse', 'hdv1394src', 'hdvparse', 'hlsdemux', 'icydemux', 'id3demux', 'id3mux', 'id3v2mux', 'identity', 'imagefreeze', 'input-selector', 'interaudiosink', 'interaudiosrc', 'interlace', 'interleave', 'intervideosink', 'intervideosrc', 'irtspparse', 'ismlmux', 'ivfparse', 'jackaudiosink', 'jackaudiosrc', 'jifmux', 'jp2kdec', 'jp2kdecimator', 'jp2kenc', 'jpegdec', 'jpegenc', 'jpegparse', 'kaleidoscope', 'katedec', 'kateenc', 'kateparse', 'katetag', 'lame', 'lamemp3enc', 'legacyh264parse', 'legacympegvideoparse', 'legacyresample', 'level', 'libvisual_bumpscope', 'libvisual_corona', 'libvisual_infinite', 'libvisual_jakdaw', 'libvisual_jess', 'libvisual_lv_analyzer', 'libvisual_lv_scope', 'libvisual_oinksie', 'linsyssdisink', 'linsyssdisrc', 'liveadder', 'mad', 'marble', 'matroskademux', 'matroskamux', 'matroskaparse', 'measurecollector', 'mimdec', 'mimenc', 'mirror', 'mj2mux', 'mmssrc', 'modplug', 'monoscope', 'mp3parse', 'mp4mux', 'mpeg2dec', 'mpeg2enc', 'mpeg4videoparse', 'mpegaudioparse', 'mpegdemux', 'mpegparse', 'mpegpsdemux', 'mpegpsmux', 'mpegtsdemux', 'mpegtsmux', 'mpegtsparse', 'mpegvideoparse', 'mplex', 'mulawdec', 'mulawenc', 'multifdsink', 'multifilesink', 'multifilesrc', 'multipartdemux', 'multipartmux', 'multiqueue', 'multiudpsink', 'musepackdec', 'mvedemux', 'mvemux', 'mxfdemux', 'mxfmux', 'navigationtest', 'navseek', 'nicesink', 'nicesrc', 'nsfdec', 'nuvdemux', 'ofa', 'oggaviparse', 'oggdemux', 'oggmux', 'oggparse', 'ogmaudioparse', 'ogmtextparse', 'ogmvideoparse', 'openalsink', 'openalsrc', 'optv', 'opusdec', 'opusenc', 'opusparse', 'oss4mixer', 'oss4sink', 'oss4src', 'ossmixer', 'osssink', 'osssrc', 'output-selector', 'patchdetect', 'pcapparse', 'pinch', 'pipeline', 'pitch', 'playbin', 'playbin2', 'playsink', 'pngdec', 'pngenc', 'pnmdec', 'pnmenc', 'pnmsrc', 'progressreport', 'pulseaudiosink', 'pulsemixer', 'pulsesink', 'pulsesrc', 'pushfilesrc', 'qtdemux', 'qtmoovrecover', 'qtmux', 'quarktv', 'queue', 'queue2', 'rademux', 'radioactv', 'rdtdepay', 'rdtmanager', 'removesilence', 'revtv', 'rfbsrc', 'rganalysis', 'rgb2bayer', 'rglimiter', 'rgvolume', 'rippletv', 'rmdemux', 'rndbuffersize', 'rotate', 'rsndvdbin', 'rsvgdec', 'rsvgoverlay', 'rtmpsink', 'rtmpsrc', 'rtpL16depay', 'rtpL16pay', 'rtpac3depay', 'rtpac3pay', 'rtpamrdepay', 'rtpamrpay', 'rtpasfdepay', 'rtpasfpay', 'rtpbvdepay', 'rtpbvpay', 'rtpceltdepay', 'rtpceltpay', 'rtpdec', 'rtpdepay', 'rtpdtmfdepay', 'rtpdtmfmux', 'rtpdtmfsrc', 'rtpdvdepay', 'rtpdvpay', 'rtpg722depay', 'rtpg722pay', 'rtpg723depay', 'rtpg723pay', 'rtpg726depay', 'rtpg726pay', 'rtpg729depay', 'rtpg729pay', 'rtpgsmdepay', 'rtpgsmpay', 'rtpgstdepay', 'rtpgstpay', 'rtph263depay', 'rtph263pay', 'rtph263pdepay', 'rtph263ppay', 'rtph264depay', 'rtph264pay', 'rtpilbcdepay', 'rtpilbcpay', 'rtpj2kdepay', 'rtpj2kpay', 'rtpjpegdepay', 'rtpjpegpay', 'rtpmp1sdepay', 'rtpmp2tdepay', 'rtpmp2tpay', 'rtpmp4adepay', 'rtpmp4apay', 'rtpmp4gdepay', 'rtpmp4gpay', 'rtpmp4vdepay', 'rtpmp4vpay', 'rtpmpadepay', 'rtpmpapay', 'rtpmparobustdepay', 'rtpmpvdepay', 'rtpmpvpay', 'rtpmux', 'rtpopusdepay', 'rtpopuspay', 'rtppcmadepay', 'rtppcmapay', 'rtppcmudepay', 'rtppcmupay', 'rtpqcelpdepay', 'rtpqdm2depay', 'rtpsirendepay', 'rtpsirenpay', 'rtpspeexdepay', 'rtpspeexpay', 'rtpsv3vdepay', 'rtptheoradepay', 'rtptheorapay', 'rtpvorbisdepay', 'rtpvorbispay', 'rtpvp8depay', 'rtpvp8pay', 'rtpvrawdepay', 'rtpvrawpay', 'rtpxqtdepay', 'rtspreal', 'rtspsrc', 'rtspwms', 'scaletempo', 'scenechange', 'schrodec', 'schroenc', 'sdidemux', 'sdimux', 'sdpdemux', 'sfsink', 'sfsrc', 'shagadelictv', 'shapewipe', 'shmsink', 'shmsrc', 'shout2send', 'siddec', 'sirendec', 'sirenenc', 'smokedec', 'smokeenc', 'smooth', 'smpte', 'smptealpha', 'solarize', 'souphttpclientsink', 'souphttpsrc', 'spacescope', 'spanplc', 'spectrascope', 'spectrum', 'speed', 'speexdec', 'speexenc', 'sphere', 'splitfilesrc', 'square', 'srtenc', 'ssaparse', 'ssim', 'stereo', 'streaktv', 'stretch', 'subparse', 'subtitleoverlay', 'synaescope', 'taginject', 'tcpclientsink', 'tcpclientsrc', 'tcpserversink', 'tcpserversrc', 'tee', 'teletextdec', 'testsink', 'textoverlay', 'textrender', 'theoradec', 'theoraenc', 'theoraparse', 'timeoverlay', 'tsdemux', 'tsparse', 'ttadec', 'ttaparse', 'tunnel', 'twirl', 'twolame', 'typefind', 'udpsink', 'udpsrc', 'uridecodebin', 'v4l2radio', 'v4l2sink', 'v4l2src', 'valve', 'vcdparse', 'vcdsrc', 'vertigotv', 'videoanalyse', 'videobalance', 'videobox', 'videocrop', 'videodetect', 'videoflip', 'videomark', 'videomaxrate', 'videomixer', 'videomixer2', 'videoparse', 'videorate', 'videoscale', 'videosegmentclip', 'videotestsrc', 'viewfinderbin', 'vmncdec', 'voaacenc', 'voamrwbenc', 'volume', 'vorbisdec', 'vorbisenc', 'vorbisparse', 'vorbistag', 'vp8dec', 'vp8enc', 'warptv', 'waterripple', 'wavenc', 'wavescope', 'wavpackdec', 'wavpackenc', 'wavpackparse', 'wavparse', 'webmmux', 'webvttenc', 'wildmidi', 'wrappercamerabinsrc', 'x264enc', 'ximagesink', 'ximagesrc', 'xingmux', 'xviddec', 'xvidenc', 'xvimagesink', 'y4mdec', 'y4menc', 'zbar', 'zebrastripe'] pygst.version : (0, 10, 22) receive : False send : False Keyboard Mapping: Keyboard layout and key mapping (65307, 'Escape', 9, 0, 0) (49, '1', 10, 0, 0) (33, 'exclam', 10, 0, 1) (50, '2', 11, 0, 0) (64, 'at', 11, 0, 1) (51, '3', 12, 0, 0) (35, 'numbersign', 12, 0, 1) (52, '4', 13, 0, 0) (36, 'dollar', 13, 0, 1) (53, '5', 14, 0, 0) (37, 'percent', 14, 0, 1) (54, '6', 15, 0, 0) (94, 'asciicircum', 15, 0, 1) (55, '7', 16, 0, 0) (38, 'ampersand', 16, 0, 1) (56, '8', 17, 0, 0) (42, 'asterisk', 17, 0, 1) (57, '9', 18, 0, 0) (40, 'parenleft', 18, 0, 1) (48, '0', 19, 0, 0) (41, 'parenright', 19, 0, 1) (45, 'minus', 20, 0, 0) (95, 'underscore', 20, 0, 1) (61, 'equal', 21, 0, 0) (43, 'plus', 21, 0, 1) (65288, 'BackSpace', 22, 0, 0) (65288, 'BackSpace', 22, 0, 1) (65237, 'Terminate_Server', 22, 0, 4) (65289, 'Tab', 23, 0, 0) (65056, 'ISO_Left_Tab', 23, 0, 1) (113, 'q', 24, 0, 0) (81, 'Q', 24, 0, 1) (119, 'w', 25, 0, 0) (87, 'W', 25, 0, 1) (101, 'e', 26, 0, 0) (69, 'E', 26, 0, 1) (114, 'r', 27, 0, 0) (82, 'R', 27, 0, 1) (116, 't', 28, 0, 0) (84, 'T', 28, 0, 1) (121, 'y', 29, 0, 0) (89, 'Y', 29, 0, 1) (117, 'u', 30, 0, 0) (85, 'U', 30, 0, 1) (105, 'i', 31, 0, 0) (73, 'I', 31, 0, 1) (111, 'o', 32, 0, 0) (79, 'O', 32, 0, 1) (112, 'p', 33, 0, 0) (80, 'P', 33, 0, 1) (91, 'bracketleft', 34, 0, 0) (123, 'braceleft', 34, 0, 1) (93, 'bracketright', 35, 0, 0) (125, 'braceright', 35, 0, 1) (65293, 'Return', 36, 0, 0) (65507, 'Control_L', 37, 0, 0) (97, 'a', 38, 0, 0) (65, 'A', 38, 0, 1) (115, 's', 39, 0, 0) (83, 'S', 39, 0, 1) (100, 'd', 40, 0, 0) (68, 'D', 40, 0, 1) (102, 'f', 41, 0, 0) (70, 'F', 41, 0, 1) (103, 'g', 42, 0, 0) (71, 'G', 42, 0, 1) (104, 'h', 43, 0, 0) (72, 'H', 43, 0, 1) (106, 'j', 44, 0, 0) (74, 'J', 44, 0, 1) (107, 'k', 45, 0, 0) (75, 'K', 45, 0, 1) (108, 'l', 46, 0, 0) (76, 'L', 46, 0, 1) (59, 'semicolon', 47, 0, 0) (58, 'colon', 47, 0, 1) (39, 'apostrophe', 48, 0, 0) (34, 'quotedbl', 48, 0, 1) (96, 'grave', 49, 0, 0) (126, 'asciitilde', 49, 0, 1) (65505, 'Shift_L', 50, 0, 0) (92, 'backslash', 51, 0, 0) (124, 'bar', 51, 0, 1) (122, 'z', 52, 0, 0) (90, 'Z', 52, 0, 1) (120, 'x', 53, 0, 0) (88, 'X', 53, 0, 1) (99, 'c', 54, 0, 0) (67, 'C', 54, 0, 1) (118, 'v', 55, 0, 0) (86, 'V', 55, 0, 1) (98, 'b', 56, 0, 0) (66, 'B', 56, 0, 1) (110, 'n', 57, 0, 0) (78, 'N', 57, 0, 1) (109, 'm', 58, 0, 0) (77, 'M', 58, 0, 1) (44, 'comma', 59, 0, 0) (60, 'less', 59, 0, 1) (46, 'period', 60, 0, 0) (62, 'greater', 60, 0, 1) (47, 'slash', 61, 0, 0) (63, 'question', 61, 0, 1) (65506, 'Shift_R', 62, 0, 0) (65450, 'KP_Multiply', 63, 0, 0) (65450, 'KP_Multiply', 63, 0, 1) (65450, 'KP_Multiply', 63, 0, 2) (65450, 'KP_Multiply', 63, 0, 3) (269024801, 'XF86ClearGrab', 63, 0, 4) (65513, 'Alt_L', 64, 0, 0) (65511, 'Meta_L', 64, 0, 1) (32, 'space', 65, 0, 0) (65509, 'Caps_Lock', 66, 0, 0) (65470, 'F1', 67, 0, 0) (65470, 'F1', 67, 0, 1) (65470, 'F1', 67, 0, 2) (65470, 'F1', 67, 0, 3) (269024769, 'XF86Switch_VT_1', 67, 0, 4) (65471, 'F2', 68, 0, 0) (65471, 'F2', 68, 0, 1) (65471, 'F2', 68, 0, 2) (65471, 'F2', 68, 0, 3) (269024770, 'XF86Switch_VT_2', 68, 0, 4) (65472, 'F3', 69, 0, 0) (65472, 'F3', 69, 0, 1) (65472, 'F3', 69, 0, 2) (65472, 'F3', 69, 0, 3) (269024771, 'XF86Switch_VT_3', 69, 0, 4) (65473, 'F4', 70, 0, 0) (65473, 'F4', 70, 0, 1) (65473, 'F4', 70, 0, 2) (65473, 'F4', 70, 0, 3) (269024772, 'XF86Switch_VT_4', 70, 0, 4) (65474, 'F5', 71, 0, 0) (65474, 'F5', 71, 0, 1) (65474, 'F5', 71, 0, 2) (65474, 'F5', 71, 0, 3) (269024773, 'XF86Switch_VT_5', 71, 0, 4) (65475, 'F6', 72, 0, 0) (65475, 'F6', 72, 0, 1) (65475, 'F6', 72, 0, 2) (65475, 'F6', 72, 0, 3) (269024774, 'XF86Switch_VT_6', 72, 0, 4) (65476, 'F7', 73, 0, 0) (65476, 'F7', 73, 0, 1) (65476, 'F7', 73, 0, 2) (65476, 'F7', 73, 0, 3) (269024775, 'XF86Switch_VT_7', 73, 0, 4) (65477, 'F8', 74, 0, 0) (65477, 'F8', 74, 0, 1) (65477, 'F8', 74, 0, 2) (65477, 'F8', 74, 0, 3) (269024776, 'XF86Switch_VT_8', 74, 0, 4) (65478, 'F9', 75, 0, 0) (65478, 'F9', 75, 0, 1) (65478, 'F9', 75, 0, 2) (65478, 'F9', 75, 0, 3) (269024777, 'XF86Switch_VT_9', 75, 0, 4) (65479, 'F10', 76, 0, 0) (65479, 'F10', 76, 0, 1) (65479, 'F10', 76, 0, 2) (65479, 'F10', 76, 0, 3) (269024778, 'XF86Switch_VT_10', 76, 0, 4) (65407, 'Num_Lock', 77, 0, 0) (65300, 'Scroll_Lock', 78, 0, 0) (65429, 'KP_Home', 79, 0, 0) (65463, 'KP_7', 79, 0, 1) (65431, 'KP_Up', 80, 0, 0) (65464, 'KP_8', 80, 0, 1) (65434, 'KP_Page_Up', 81, 0, 0) (65465, 'KP_9', 81, 0, 1) (65453, 'KP_Subtract', 82, 0, 0) (65453, 'KP_Subtract', 82, 0, 1) (65453, 'KP_Subtract', 82, 0, 2) (65453, 'KP_Subtract', 82, 0, 3) (269024803, 'XF86Prev_VMode', 82, 0, 4) (65430, 'KP_Left', 83, 0, 0) (65460, 'KP_4', 83, 0, 1) (65437, 'KP_Begin', 84, 0, 0) (65461, 'KP_5', 84, 0, 1) (65432, 'KP_Right', 85, 0, 0) (65462, 'KP_6', 85, 0, 1) (65451, 'KP_Add', 86, 0, 0) (65451, 'KP_Add', 86, 0, 1) (65451, 'KP_Add', 86, 0, 2) (65451, 'KP_Add', 86, 0, 3) (269024802, 'XF86Next_VMode', 86, 0, 4) (65436, 'KP_End', 87, 0, 0) (65457, 'KP_1', 87, 0, 1) (65433, 'KP_Down', 88, 0, 0) (65458, 'KP_2', 88, 0, 1) (65435, 'KP_Page_Down', 89, 0, 0) (65459, 'KP_3', 89, 0, 1) (65438, 'KP_Insert', 90, 0, 0) (65456, 'KP_0', 90, 0, 1) (65439, 'KP_Delete', 91, 0, 0) (65454, 'KP_Decimal', 91, 0, 1) (65027, 'ISO_Level3_Shift', 92, 0, 0) (60, 'less', 94, 0, 0) (62, 'greater', 94, 0, 1) (124, 'bar', 94, 0, 2) (166, 'brokenbar', 94, 0, 3) (65480, 'F11', 95, 0, 0) (65480, 'F11', 95, 0, 1) (65480, 'F11', 95, 0, 2) (65480, 'F11', 95, 0, 3) (269024779, 'XF86Switch_VT_11', 95, 0, 4) (65481, 'F12', 96, 0, 0) (65481, 'F12', 96, 0, 1) (65481, 'F12', 96, 0, 2) (65481, 'F12', 96, 0, 3) (269024780, 'XF86Switch_VT_12', 96, 0, 4) (65318, 'Katakana', 98, 0, 0) (65317, 'Hiragana', 99, 0, 0) (65315, 'Henkan_Mode', 100, 0, 0) (65319, 'Hiragana_Katakana', 101, 0, 0) (65314, 'Muhenkan', 102, 0, 0) (65421, 'KP_Enter', 104, 0, 0) (65508, 'Control_R', 105, 0, 0) (65455, 'KP_Divide', 106, 0, 0) (65455, 'KP_Divide', 106, 0, 1) (65455, 'KP_Divide', 106, 0, 2) (65455, 'KP_Divide', 106, 0, 3) (269024800, 'XF86Ungrab', 106, 0, 4) (65377, 'Print', 107, 0, 0) (65301, 'Sys_Req', 107, 0, 1) (65514, 'Alt_R', 108, 0, 0) (65512, 'Meta_R', 108, 0, 1) (65290, 'Linefeed', 109, 0, 0) (65360, 'Home', 110, 0, 0) (65362, 'Up', 111, 0, 0) (65365, 'Page_Up', 112, 0, 0) (65361, 'Left', 113, 0, 0) (65363, 'Right', 114, 0, 0) (65367, 'End', 115, 0, 0) (65364, 'Down', 116, 0, 0) (65366, 'Page_Down', 117, 0, 0) (65379, 'Insert', 118, 0, 0) (65535, 'Delete', 119, 0, 0) (269025042, 'XF86AudioMute', 121, 0, 0) (269025041, 'XF86AudioLowerVolume', 122, 0, 0) (269025043, 'XF86AudioRaiseVolume', 123, 0, 0) (269025066, 'XF86PowerOff', 124, 0, 0) (65469, 'KP_Equal', 125, 0, 0) (177, 'plusminus', 126, 0, 0) (65299, 'Pause', 127, 0, 0) (65387, 'Break', 127, 0, 1) (269025098, 'XF86LaunchA', 128, 0, 0) (65454, 'KP_Decimal', 129, 0, 0) (65454, 'KP_Decimal', 129, 0, 1) (65329, 'Hangul', 130, 0, 0) (65332, 'Hangul_Hanja', 131, 0, 0) (65312, 'Multi_key', 133, 0, 0) (65312, 'Multi_key', 133, 0, 1) (65516, 'Super_R', 134, 0, 0) (65383, 'Menu', 135, 0, 0) (65385, 'Cancel', 136, 0, 0) (65382, 'Redo', 137, 0, 0) (268828528, 'SunProps', 138, 0, 0) (65381, 'Undo', 139, 0, 0) (268828529, 'SunFront', 140, 0, 0) (269025111, 'XF86Copy', 141, 0, 0) (269025131, 'XF86Open', 142, 0, 0) (269025133, 'XF86Paste', 143, 0, 0) (65384, 'Find', 144, 0, 0) (269025112, 'XF86Cut', 145, 0, 0) (65386, 'Help', 146, 0, 0) (269025125, 'XF86MenuKB', 147, 0, 0) (269025053, 'XF86Calculator', 148, 0, 0) (269025071, 'XF86Sleep', 150, 0, 0) (269025067, 'XF86WakeUp', 151, 0, 0) (269025117, 'XF86Explorer', 152, 0, 0) (269025147, 'XF86Send', 153, 0, 0) (269025162, 'XF86Xfer', 155, 0, 0) (269025089, 'XF86Launch1', 156, 0, 0) (269025090, 'XF86Launch2', 157, 0, 0) (269025070, 'XF86WWW', 158, 0, 0) (269025114, 'XF86DOS', 159, 0, 0) (269025069, 'XF86ScreenSaver', 160, 0, 0) (269025140, 'XF86RotateWindows', 162, 0, 0) (269025049, 'XF86Mail', 163, 0, 0) (269025072, 'XF86Favorites', 164, 0, 0) (269025075, 'XF86MyComputer', 165, 0, 0) (269025062, 'XF86Back', 166, 0, 0) (269025063, 'XF86Forward', 167, 0, 0) (269025068, 'XF86Eject', 169, 0, 0) (269025068, 'XF86Eject', 170, 0, 0) (269025068, 'XF86Eject', 170, 0, 1) (269025047, 'XF86AudioNext', 171, 0, 0) (269025044, 'XF86AudioPlay', 172, 0, 0) (269025073, 'XF86AudioPause', 172, 0, 1) (269025046, 'XF86AudioPrev', 173, 0, 0) (269025045, 'XF86AudioStop', 174, 0, 0) (269025068, 'XF86Eject', 174, 0, 1) (269025052, 'XF86AudioRecord', 175, 0, 0) (269025086, 'XF86AudioRewind', 176, 0, 0) (269025134, 'XF86Phone', 177, 0, 0) (269025153, 'XF86Tools', 179, 0, 0) (269025048, 'XF86HomePage', 180, 0, 0) (269025139, 'XF86Reload', 181, 0, 0) (269025110, 'XF86Close', 182, 0, 0) (269025144, 'XF86ScrollUp', 185, 0, 0) (269025145, 'XF86ScrollDown', 186, 0, 0) (40, 'parenleft', 187, 0, 0) (41, 'parenright', 188, 0, 0) (269025128, 'XF86New', 189, 0, 0) (65382, 'Redo', 190, 0, 0) (269025153, 'XF86Tools', 191, 0, 0) (269025093, 'XF86Launch5', 192, 0, 0) (269025094, 'XF86Launch6', 193, 0, 0) (269025095, 'XF86Launch7', 194, 0, 0) (269025096, 'XF86Launch8', 195, 0, 0) (269025097, 'XF86Launch9', 196, 0, 0) (269025202, 'XF86AudioMicMute', 198, 0, 0) (269025193, 'XF86TouchpadToggle', 199, 0, 0) (269025200, 'XF86TouchpadOn', 200, 0, 0) (269025201, 'XF86TouchpadOff', 201, 0, 0) (65406, 'Mode_switch', 203, 0, 0) (65513, 'Alt_L', 204, 0, 1) (65511, 'Meta_L', 205, 0, 1) (65515, 'Super_L', 206, 0, 1) (65517, 'Hyper_L', 207, 0, 1) (269025044, 'XF86AudioPlay', 208, 0, 0) (269025073, 'XF86AudioPause', 209, 0, 0) (269025091, 'XF86Launch3', 210, 0, 0) (269025092, 'XF86Launch4', 211, 0, 0) (269025099, 'XF86LaunchB', 212, 0, 0) (269025191, 'XF86Suspend', 213, 0, 0) (269025110, 'XF86Close', 214, 0, 0) (269025044, 'XF86AudioPlay', 215, 0, 0) (269025175, 'XF86AudioForward', 216, 0, 0) (65377, 'Print', 218, 0, 0) (269025167, 'XF86WebCam', 220, 0, 0) (269025049, 'XF86Mail', 223, 0, 0) (269025166, 'XF86Messenger', 224, 0, 0) (269025051, 'XF86Search', 225, 0, 0) (269025119, 'XF86Go', 226, 0, 0) (269025084, 'XF86Finance', 227, 0, 0) (269025118, 'XF86Game', 228, 0, 0) (269025078, 'XF86Shop', 229, 0, 0) (65385, 'Cancel', 231, 0, 0) (269025027, 'XF86MonBrightnessDown', 232, 0, 0) (269025026, 'XF86MonBrightnessUp', 233, 0, 0) (269025074, 'XF86AudioMedia', 234, 0, 0) (269025113, 'XF86Display', 235, 0, 0) (269025028, 'XF86KbdLightOnOff', 236, 0, 0) (269025030, 'XF86KbdBrightnessDown', 237, 0, 0) (269025029, 'XF86KbdBrightnessUp', 238, 0, 0) (269025147, 'XF86Send', 239, 0, 0) (269025138, 'XF86Reply', 240, 0, 0) (269025168, 'XF86MailForward', 241, 0, 0) (269025143, 'XF86Save', 242, 0, 0) (269025115, 'XF86Documents', 243, 0, 0) (269025171, 'XF86Battery', 244, 0, 0) (269025172, 'XF86Bluetooth', 245, 0, 0) (269025173, 'XF86WLAN', 246, 0, 0) Server Info: Full server information from 'xpra info' batch.delay.50p : 4 batch.delay.80p : 26 batch.delay.90p : 34 batch.delay.avg : 11 batch.delay.cur : 0 batch.delay.max : 39 batch.delay.min : 0 batch.locked : False batch.max-delay : 500 batch.min-delay : 5 batch.timeout-delay : 15000 children : 0 children.dead : 0 children.ignored : 0 client.auto_refresh : 150 client.bell : True client.clipboard : True client.clipboard_notifications : True client.connection.compression_level : 1 client.connection.compressor : lzo client.connection.encoder : rencode client.connection.endpoint : /home/doole/.xpra/reorx-1 client.connection.input.bytecount : 40539 client.connection.input.cipher : client.connection.input.count : {'map-window': 1, 'server-settings': 1, 'clipboard-token': 1, 'info-request': 1, 'damage-sequence': 1, 'ping': 41, 'focus': 1, 'pointer-position': 1, 'configure-window': 1, 'set_deflate': 1, 'ping_echo': 24, 'hello': 1, 'button-action': 1} client.connection.input.packetcount : 191 client.connection.input.raw_packetcount : 187 client.connection.large_packets : ('hello', 'info-response') client.connection.max_packet_size : 1048576 client.connection.output.bytecount : 76145 client.connection.output.cipher : client.connection.output.count : {'draw': 11, 'server-event': 1, 'desktop_size': 1, 'hello': 1, 'ping': 41, 'info-response': 2, 'cursor': 6, 'set_deflate': 1, 'ping_echo': 23, 'startup-complete': 1, 'new-window': 1, 'window-icon': 1, 'window-metadata': 3} client.connection.output.packetcount : 92 client.connection.output.raw_packetcount : 109 client.connection.receive_alias.1 : connection-lost client.connection.receive_alias.10 : command_request client.connection.receive_alias.11 : damage-sequence client.connection.receive_alias.12 : set-cursors client.connection.receive_alias.13 : set-keyboard-sync-enabled client.connection.receive_alias.14 : suspend client.connection.receive_alias.15 : encoding client.connection.receive_alias.16 : desktop_size client.connection.receive_alias.17 : focus client.connection.receive_alias.18 : unmap-window client.connection.receive_alias.19 : keymap-changed client.connection.receive_alias.2 : gibberish client.connection.receive_alias.20 : jpeg-quality client.connection.receive_alias.21 : min-speed client.connection.receive_alias.22 : connection-lost client.connection.receive_alias.23 : shutdown-server client.connection.receive_alias.24 : speed client.connection.receive_alias.25 : close-window client.connection.receive_alias.26 : exit-server client.connection.receive_alias.27 : server-settings client.connection.receive_alias.28 : disconnect client.connection.receive_alias.29 : quality client.connection.receive_alias.3 : hello client.connection.receive_alias.30 : invalid client.connection.receive_alias.31 : set_deflate client.connection.receive_alias.32 : key-repeat client.connection.receive_alias.33 : layout-changed client.connection.receive_alias.34 : sound-control client.connection.receive_alias.35 : screenshot client.connection.receive_alias.36 : resume client.connection.receive_alias.37 : sound-data client.connection.receive_alias.38 : pointer-position client.connection.receive_alias.39 : button-action client.connection.receive_alias.4 : invalid client.connection.receive_alias.40 : map-window client.connection.receive_alias.41 : buffer-refresh client.connection.receive_alias.42 : force-ungrab client.connection.receive_alias.43 : info-request client.connection.receive_alias.44 : rpc client.connection.receive_alias.45 : configure-window client.connection.receive_alias.46 : min-quality client.connection.receive_alias.47 : gibberish client.connection.receive_alias.48 : hello client.connection.receive_alias.49 : key-action client.connection.receive_alias.5 : set-notify client.connection.receive_alias.6 : set-bell client.connection.receive_alias.7 : set-clipboard-enabled client.connection.receive_alias.8 : ping_echo client.connection.receive_alias.9 : ping client.connection.receive_alias.buffer-refresh : 41 client.connection.receive_alias.button-action : 39 client.connection.receive_alias.close-window : 25 client.connection.receive_alias.command_request : 10 client.connection.receive_alias.configure-window : 45 client.connection.receive_alias.connection-lost : 22 client.connection.receive_alias.damage-sequence : 11 client.connection.receive_alias.desktop_size : 16 client.connection.receive_alias.disconnect : 28 client.connection.receive_alias.encoding : 15 client.connection.receive_alias.exit-server : 26 client.connection.receive_alias.focus : 17 client.connection.receive_alias.force-ungrab : 42 client.connection.receive_alias.gibberish : 47 client.connection.receive_alias.hello : 48 client.connection.receive_alias.info-request : 43 client.connection.receive_alias.invalid : 30 client.connection.receive_alias.jpeg-quality : 20 client.connection.receive_alias.key-action : 49 client.connection.receive_alias.key-repeat : 32 client.connection.receive_alias.keymap-changed : 19 client.connection.receive_alias.layout-changed : 33 client.connection.receive_alias.map-window : 40 client.connection.receive_alias.min-quality : 46 client.connection.receive_alias.min-speed : 21 client.connection.receive_alias.ping : 9 client.connection.receive_alias.ping_echo : 8 client.connection.receive_alias.pointer-position : 38 client.connection.receive_alias.quality : 29 client.connection.receive_alias.resume : 36 client.connection.receive_alias.rpc : 44 client.connection.receive_alias.screenshot : 35 client.connection.receive_alias.server-settings : 27 client.connection.receive_alias.set-bell : 6 client.connection.receive_alias.set-clipboard-enabled : 7 client.connection.receive_alias.set-cursors : 12 client.connection.receive_alias.set-keyboard-sync-enabled : 13 client.connection.receive_alias.set-notify : 5 client.connection.receive_alias.set_deflate : 31 client.connection.receive_alias.shutdown-server : 23 client.connection.receive_alias.sound-control : 34 client.connection.receive_alias.sound-data : 37 client.connection.receive_alias.speed : 24 client.connection.receive_alias.suspend : 14 client.connection.receive_alias.unmap-window : 18 client.connection.send_alias.1 : lost-window client.connection.send_alias.10 : notify_show client.connection.send_alias.11 : new-window client.connection.send_alias.12 : send-file client.connection.send_alias.13 : hello client.connection.send_alias.14 : window-metadata client.connection.send_alias.15 : disconnect client.connection.send_alias.16 : pointer-ungrab client.connection.send_alias.17 : challenge client.connection.send_alias.18 : invalid client.connection.send_alias.19 : set_deflate client.connection.send_alias.2 : configure-override-redirect client.connection.send_alias.20 : pointer-grab client.connection.send_alias.21 : connection-lost client.connection.send_alias.22 : gibberish client.connection.send_alias.3 : draw client.connection.send_alias.4 : notify_close client.connection.send_alias.5 : bell client.connection.send_alias.6 : new-override-redirect client.connection.send_alias.7 : ping client.connection.send_alias.8 : cursor client.connection.send_alias.9 : ping_echo client.connection.send_alias.bell : 5 client.connection.send_alias.challenge : 17 client.connection.send_alias.configure-override-redirect : 2 client.connection.send_alias.connection-lost : 21 client.connection.send_alias.cursor : 8 client.connection.send_alias.disconnect : 15 client.connection.send_alias.draw : 3 client.connection.send_alias.gibberish : 22 client.connection.send_alias.hello : 13 client.connection.send_alias.invalid : 18 client.connection.send_alias.lost-window : 1 client.connection.send_alias.new-override-redirect : 6 client.connection.send_alias.new-window : 11 client.connection.send_alias.notify_close : 4 client.connection.send_alias.notify_show : 10 client.connection.send_alias.ping : 7 client.connection.send_alias.ping_echo : 9 client.connection.send_alias.pointer-grab : 20 client.connection.send_alias.pointer-ungrab : 16 client.connection.send_alias.send-file : 12 client.connection.send_alias.set_deflate : 19 client.connection.send_alias.window-metadata : 14 client.connection.type : unix-domain client.connection_time : 1433253531 client.cursors : True client.desktop_size : (3520, 1200) client.elapsed_time : 181 client.encoding.PIL.version : 2.3.0 client.encoding.client_options : 1 client.encoding.csc_atoms : 1 client.encoding.csc_modes : ('YUV420P',) client.encoding.cython.version : (0, 3, '0', '21') client.encoding.dec_webp.version : (0, 4, 0) client.encoding.default : h264 client.encoding.delta_buckets : 5 client.encoding.enc_webp.version : (0, 4, 0) client.encoding.full_csc_modes : {'vp9': ('YUV420P',), 'vp8': ('YUV420P',)} client.encoding.generic : 1 client.encoding.icons.greedy : 1 client.encoding.icons.max_size : (128, 128) client.encoding.icons.size : (64, 64) client.encoding.initial_quality : 30 client.encoding.min-quality : 30 client.encoding.min-speed : 0 client.encoding.numpy.version : 1.8.2 client.encoding.rgb24zlib : 1 client.encoding.rgb_lz4 : 0 client.encoding.rgb_lzo : 1 client.encoding.rgb_zlib : 1 client.encoding.scaling.control : 1 client.encoding.speed : 0 client.encoding.supports_delta : ('png', 'rgb24', 'rgb32') client.encoding.swscale.version : (2, 1, 1) client.encoding.transparency : 1 client.encoding.uses_swscale : 1 client.encoding.video_reinit : 1 client.encoding.video_scaling : 1 client.encoding.video_separateplane : 0 client.encoding.video_subregion : 1 client.encoding.vpx.version : v1.3.0 client.encoding.webp_leaks : 0 client.encoding.x264.version : 142 client.encodings : ('vp8', 'png', 'png/P', 'png/L', 'webp', 'rgb', 'jpeg', 'vp9') client.encodings.core : ('vp8', 'png', 'png/P', 'png/L', 'webp', 'rgb24', 'jpeg', 'vp9', 'rgb32', 'rgb') client.generic_window_types : True client.hostname : andammo client.idle_time : 173 client.lz4 : False client.lzo : True client.machine : x86_64 client.microphone.state : inactive client.named_cursors : True client.namespace : True client.notifications : True client.notify_startup_complete : True client.platform : linux2 client.platform_name : Linux client.processor : Intel(R) Core(TM) i5-3360M CPU @ 2.80GHz client.proxy : False client.pulseaudio_id : 1000 at 093d07acb8f927a06bf0018c00000362 /3210 client.pulseaudio_server : {093d07acb8f927a06bf0018c00000362}unix:/run/user/1000/pulse/native client.randr_notify : True client.raw_window_icons : True client.release : 3.13.0-53-generic client.screen[0].display : :0.0 client.screen[0].monitor[0].geometry : (0, 0, 1600, 900) client.screen[0].monitor[0].name : LVDS1 client.screen[0].monitor[0].size_mm : (309, 174) client.screen[0].monitor[1].geometry : (1600, 0, 1920, 1200) client.screen[0].monitor[1].name : VGA1 client.screen[0].monitor[1].size_mm : (474, 296) client.screen[0].size : (3520, 1200) client.screen[0].size_mm : (929, 317) client.screen[0].workarea : (113, 0, 3407, 1200) client.screens : 1 client.server_window_resize : True client.share : False client.speaker.state : inactive client.suspended : False client.system_tray : True client.type : Python/Gtk2 client.uuid : 30cc7b5d52c9144ab21ccb8d3210c199c6c88c67 client.version : 0.15.0 client.windows : True clients : 0 clients.unauthenticated : 0 clipboard.CLIPBOARD.blocked_owner_change : False clipboard.CLIPBOARD.enabled : True clipboard.CLIPBOARD.event.get_contents : 0 clipboard.CLIPBOARD.event.got_token : 1 clipboard.CLIPBOARD.event.request_contents : 0 clipboard.CLIPBOARD.event.selection_clear : 0 clipboard.CLIPBOARD.event.selection_get : 0 clipboard.CLIPBOARD.event.selection_request : 0 clipboard.CLIPBOARD.event.sent_token : 0 clipboard.CLIPBOARD.greedy_client : False clipboard.CLIPBOARD.have_token : True clipboard.PRIMARY.blocked_owner_change : False clipboard.PRIMARY.enabled : True clipboard.PRIMARY.event.get_contents : 0 clipboard.PRIMARY.event.got_token : 1 clipboard.PRIMARY.event.request_contents : 0 clipboard.PRIMARY.event.selection_clear : 0 clipboard.PRIMARY.event.selection_get : 0 clipboard.PRIMARY.event.selection_request : 0 clipboard.PRIMARY.event.sent_token : 0 clipboard.PRIMARY.greedy_client : False clipboard.PRIMARY.have_token : True clipboard.SECONDARY.blocked_owner_change : False clipboard.SECONDARY.enabled : True clipboard.SECONDARY.event.get_contents : 0 clipboard.SECONDARY.event.got_token : 1 clipboard.SECONDARY.event.request_contents : 0 clipboard.SECONDARY.event.selection_clear : 0 clipboard.SECONDARY.event.selection_get : 0 clipboard.SECONDARY.event.selection_request : 0 clipboard.SECONDARY.event.sent_token : 0 clipboard.SECONDARY.greedy_client : False clipboard.SECONDARY.have_token : True clipboard.filters : () clipboard.max_size : 4194304 clipboard.pending : () clipboard.requests : 0 clipboard.type : GDKClipboardProtocolHelper clipboard.want_targets : False csc.BGRX_to_BGR : ('swscale',) csc.BGRX_to_GBRP : ('swscale',) csc.BGRX_to_RGB : ('swscale',) csc.BGRX_to_YUV420P : ('swscale', 'cython') csc.BGRX_to_YUV422P : ('swscale',) csc.BGRX_to_YUV444P : ('swscale',) csc.BGR_to_BGRX : ('swscale',) csc.BGR_to_GBRP : ('swscale',) csc.BGR_to_RGB : ('swscale',) csc.BGR_to_YUV420P : ('swscale',) csc.BGR_to_YUV422P : ('swscale',) csc.BGR_to_YUV444P : ('swscale',) csc.GBRP_to_BGR : ('swscale',) csc.GBRP_to_BGRX : ('swscale', 'cython') csc.GBRP_to_RGB : ('swscale',) csc.GBRP_to_RGBX : ('cython',) csc.GBRP_to_YUV420P : ('swscale',) csc.GBRP_to_YUV422P : ('swscale',) csc.GBRP_to_YUV444P : ('swscale',) csc.RGB_to_BGR : ('swscale',) csc.RGB_to_BGRX : ('swscale',) csc.RGB_to_GBRP : ('swscale',) csc.RGB_to_YUV420P : ('swscale',) csc.RGB_to_YUV422P : ('swscale',) csc.RGB_to_YUV444P : ('swscale',) csc.YUV420P_to_BGR : ('swscale',) csc.YUV420P_to_BGRX : ('swscale', 'cython') csc.YUV420P_to_GBRP : ('swscale',) csc.YUV420P_to_RGB : ('swscale',) csc.YUV420P_to_RGBX : ('cython',) csc.YUV420P_to_YUV422P : ('swscale',) csc.YUV420P_to_YUV444P : ('swscale',) csc.YUV422P_to_BGR : ('swscale',) csc.YUV422P_to_BGRX : ('swscale',) csc.YUV422P_to_GBRP : ('swscale',) csc.YUV422P_to_RGB : ('swscale',) csc.YUV422P_to_YUV420P : ('swscale',) csc.YUV422P_to_YUV444P : ('swscale',) csc.YUV444P_to_BGR : ('swscale',) csc.YUV444P_to_BGRX : ('swscale',) csc.YUV444P_to_GBRP : ('swscale',) csc.YUV444P_to_RGB : ('swscale',) csc.YUV444P_to_YUV420P : ('swscale',) csc.YUV444P_to_YUV422P : ('swscale',) cursor.default_size : 85 cursor.height : 24 cursor.is_default : True cursor.max_size : (64, 64) cursor.name : ibeam cursor.serial : 3 cursor.width : 24 cursor.x : 1882 cursor.xhot : 11 cursor.y : 442 cursor.yhot : 11 damage.compression_queue.size.current : 0 damage.data_queue.size.50p : 0 damage.data_queue.size.80p : 0 damage.data_queue.size.90p : 0 damage.data_queue.size.avg : 0 damage.data_queue.size.cur : 0 damage.data_queue.size.max : 0 damage.data_queue.size.min : 0 damage.events : 12 damage.in_latency.90p : 8 damage.in_latency.avg : 4 damage.in_latency.cur : 0 damage.in_latency.max : 32 damage.in_latency.min : 0 damage.out_latency.90p : 9 damage.out_latency.avg : 5 damage.out_latency.cur : 1 damage.out_latency.max : 33 damage.out_latency.min : 1 damage.packet_queue.size.50p : 0 damage.packet_queue.size.80p : 0 damage.packet_queue.size.90p : 0 damage.packet_queue.size.avg : 0 damage.packet_queue.size.cur : 0 damage.packet_queue.size.current : 0 damage.packet_queue.size.max : 0 damage.packet_queue.size.min : 0 damage.packets_sent : 11 encoding.BGRA_to_h264 : ('x264',) encoding.BGRX_to_h264 : ('x264',) encoding.BGR_to_h264 : ('x264',) encoding.PIL.version : 2.3.0 encoding.RGB_to_h264 : ('x264',) encoding.YUV420P_to_h264 : ('x264',) encoding.YUV420P_to_vp8 : ('vpx',) encoding.YUV422P_to_h264 : ('x264',) encoding.YUV444P_to_h264 : ('x264',) encoding.avcodec.version : (54, 35, 0) encoding.csc-module.cython : active encoding.csc-module.swscale : active encoding.cython.version : (0, 3, '0', '21') encoding.dec_webp.version : (0, 4, 0) encoding.enc_webp.version : (0, 4, 0) encoding.numpy.version : 1.8.2 encoding.pixels_encoded_per_second : 12095560 encoding.swscale.version : (2, 1, 1) encoding.video-encoder.vpx : active encoding.video-encoder.x264 : active encoding.vpx.version : v1.3.0 encoding.x264.version : 142 encodings : ('rgb', 'h264', 'vp8', 'png', 'png/L', 'png/P', 'jpeg', 'webp') encodings.allowed : ('h264', 'vp8', 'png', 'png/P', 'png/L', 'webp', 'rgb', 'rgb24', 'rgb32', 'jpeg', 'h265', 'vp9') encodings.core : ('rgb24', 'rgb32', 'h264', 'vp8', 'png', 'png/L', 'png/P', 'jpeg', 'webp') encodings.lossless : ('rgb24', 'rgb32', 'png', 'png/L', 'png/P', 'webp') encodings.problematic : () encodings.with_lossless_mode : () encodings.with_quality : ('h264', 'vp8', 'jpeg', 'webp') encodings.with_speed : ('h264', 'vp8', 'png', 'png/L', 'png/P') env.DISABLE_IMSETTINGS : 1 env.DISPLAY : :1 env.GTK_IM_MODULE : xim env.HOME : /home/doole env.IMSETTINGS_MODULE : none env.LANG : en_CA.UTF-8 env.LANGUAGE : en_CA:en env.LC_COLLATE : en_CA.UTF-8 env.LC_CTYPE : en_CA.UTF-8 env.LC_MESSAGES : en_CA.UTF-8 env.LESSCLOSE : /usr/bin/lesspipe %s %s env.LESSOPEN : | /usr/bin/lesspipe %s env.LOGNAME : doole env.LS_COLORS : rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36: env.MAIL : /var/mail/doole env.PATH : /home/doole/bin:.:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games env.PULSE_PROP_application.name : xpra env.PULSE_PROP_media.role : music env.PWD : /home/doole env.QT_IM_MODULE : xim env.QT_QPA_PLATFORMTHEME : appmenu-qt5 env.SHELL : /bin/bash env.SHLVL : 2 env.SSH_CLIENT : 9.26.125.134 59606 22 env.SSH_CONNECTION : 9.26.125.134 59606 9.26.54.48 22 env.SSH_TTY : /dev/pts/11 env.TERM : xterm env.USER : doole env.XDG_RUNTIME_DIR : /run/user/1000 env.XDG_SESSION_COOKIE : a80cf965bc578ee3d050997200000005-1433250711.247925-1209232975 env.XDG_SESSION_ID : 51 env.XMODIFIERS : @im=none env._ : /opt/xpra/bin/xpra features.bell : True features.change-min-quality : True features.change-min-speed : True features.change-quality : True features.change-speed : True features.client_window_properties : True features.clipboard : True features.command_request : True features.cursors : True features.dbus_proxy : True features.encoding.generic : True features.encoding.strict_control : True features.event_request : True features.notifications : True features.notify-startup-complete : True features.pulseaudio : False features.randr : True features.server-events : True features.sound.eos-sequence : True features.sound.server_driven : True features.sound_sequence : True features.suspend-resume : True features.toggle_cursors_bell_notify : True features.toggle_keyboard_sync : True features.window_configure : True features.window_refresh_config : True features.window_unmap : True features.xsettings-tuple : True keyboard.enabled : True keyboard.keycode.0 : 19 keyboard.keycode.1 : 10 keyboard.keycode.2 : 11 keyboard.keycode.3 : 12 keyboard.keycode.4 : 13 keyboard.keycode.5 : 14 keyboard.keycode.6 : 15 keyboard.keycode.7 : 16 keyboard.keycode.8 : 17 keyboard.keycode.9 : 18 keyboard.keycode.A : 38 keyboard.keycode.Alt_L : 204 keyboard.keycode.Alt_R : 108 keyboard.keycode.B : 56 keyboard.keycode.BackSpace : 22 keyboard.keycode.Break : 127 keyboard.keycode.C : 54 keyboard.keycode.Cancel : 231 keyboard.keycode.Caps_Lock : 66 keyboard.keycode.Control_L : 37 keyboard.keycode.Control_R : 105 keyboard.keycode.D : 40 keyboard.keycode.Delete : 119 keyboard.keycode.Down : 116 keyboard.keycode.E : 26 keyboard.keycode.End : 115 keyboard.keycode.Escape : 9 keyboard.keycode.F : 41 keyboard.keycode.F1 : 67 keyboard.keycode.F10 : 76 keyboard.keycode.F11 : 95 keyboard.keycode.F12 : 96 keyboard.keycode.F2 : 68 keyboard.keycode.F3 : 69 keyboard.keycode.F4 : 70 keyboard.keycode.F5 : 71 keyboard.keycode.F6 : 72 keyboard.keycode.F7 : 73 keyboard.keycode.F8 : 74 keyboard.keycode.F9 : 75 keyboard.keycode.Find : 144 keyboard.keycode.G : 42 keyboard.keycode.H : 43 keyboard.keycode.Hangul : 130 keyboard.keycode.Hangul_Hanja : 131 keyboard.keycode.Help : 146 keyboard.keycode.Henkan_Mode : 100 keyboard.keycode.Hiragana : 99 keyboard.keycode.Hiragana_Katakana : 101 keyboard.keycode.Home : 110 keyboard.keycode.Hyper_L : 207 keyboard.keycode.I : 31 keyboard.keycode.ISO_Left_Tab : 23 keyboard.keycode.ISO_Level3_Shift : 92 keyboard.keycode.Insert : 118 keyboard.keycode.J : 44 keyboard.keycode.K : 45 keyboard.keycode.KP_0 : 90 keyboard.keycode.KP_1 : 87 keyboard.keycode.KP_2 : 88 keyboard.keycode.KP_3 : 89 keyboard.keycode.KP_4 : 83 keyboard.keycode.KP_5 : 84 keyboard.keycode.KP_6 : 85 keyboard.keycode.KP_7 : 79 keyboard.keycode.KP_8 : 80 keyboard.keycode.KP_9 : 81 keyboard.keycode.KP_Add : 86 keyboard.keycode.KP_Begin : 84 keyboard.keycode.KP_Decimal : 129 keyboard.keycode.KP_Delete : 91 keyboard.keycode.KP_Divide : 106 keyboard.keycode.KP_Down : 88 keyboard.keycode.KP_End : 87 keyboard.keycode.KP_Enter : 104 keyboard.keycode.KP_Equal : 125 keyboard.keycode.KP_Home : 79 keyboard.keycode.KP_Insert : 90 keyboard.keycode.KP_Left : 83 keyboard.keycode.KP_Multiply : 63 keyboard.keycode.KP_Next : 89 keyboard.keycode.KP_Page_Down : 89 keyboard.keycode.KP_Page_Up : 81 keyboard.keycode.KP_Prior : 81 keyboard.keycode.KP_Right : 85 keyboard.keycode.KP_Subtract : 82 keyboard.keycode.KP_Up : 80 keyboard.keycode.Katakana : 98 keyboard.keycode.L : 46 keyboard.keycode.Left : 113 keyboard.keycode.Linefeed : 109 keyboard.keycode.M : 58 keyboard.keycode.Menu : 135 keyboard.keycode.Meta_L : 205 keyboard.keycode.Meta_R : 108 keyboard.keycode.Mode_switch : 203 keyboard.keycode.Muhenkan : 102 keyboard.keycode.Multi_key : 133 keyboard.keycode.N : 57 keyboard.keycode.Next : 117 keyboard.keycode.Num_Lock : 77 keyboard.keycode.O : 32 keyboard.keycode.P : 33 keyboard.keycode.Page_Down : 105 keyboard.keycode.Page_Up : 99 keyboard.keycode.Pause : 127 keyboard.keycode.Print : 218 keyboard.keycode.Prior : 112 keyboard.keycode.Q : 24 keyboard.keycode.R : 27 keyboard.keycode.Redo : 190 keyboard.keycode.Return : 36 keyboard.keycode.Right : 114 keyboard.keycode.S : 39 keyboard.keycode.Scroll_Lock : 78 keyboard.keycode.Shift_L : 50 keyboard.keycode.Shift_R : 62 keyboard.keycode.SunFront : 140 keyboard.keycode.SunProps : 138 keyboard.keycode.Super_L : 206 keyboard.keycode.Super_R : 134 keyboard.keycode.Sys_Req : 107 keyboard.keycode.T : 28 keyboard.keycode.Tab : 23 keyboard.keycode.Terminate_Server : 22 keyboard.keycode.U : 30 keyboard.keycode.Undo : 139 keyboard.keycode.Up : 111 keyboard.keycode.V : 55 keyboard.keycode.W : 25 keyboard.keycode.X : 53 keyboard.keycode.XF86AudioForward : 216 keyboard.keycode.XF86AudioLowerVolume : 122 keyboard.keycode.XF86AudioMedia : 234 keyboard.keycode.XF86AudioMicMute : 198 keyboard.keycode.XF86AudioMute : 121 keyboard.keycode.XF86AudioNext : 171 keyboard.keycode.XF86AudioPause : 209 keyboard.keycode.XF86AudioPlay : 215 keyboard.keycode.XF86AudioPrev : 173 keyboard.keycode.XF86AudioRaiseVolume : 123 keyboard.keycode.XF86AudioRecord : 175 keyboard.keycode.XF86AudioRewind : 176 keyboard.keycode.XF86AudioStop : 174 keyboard.keycode.XF86Back : 166 keyboard.keycode.XF86Battery : 244 keyboard.keycode.XF86Bluetooth : 245 keyboard.keycode.XF86Calculator : 148 keyboard.keycode.XF86ClearGrab : 63 keyboard.keycode.XF86Close : 214 keyboard.keycode.XF86Copy : 141 keyboard.keycode.XF86Cut : 145 keyboard.keycode.XF86DOS : 159 keyboard.keycode.XF86Display : 235 keyboard.keycode.XF86Documents : 243 keyboard.keycode.XF86Eject : 174 keyboard.keycode.XF86Explorer : 152 keyboard.keycode.XF86Favorites : 164 keyboard.keycode.XF86Finance : 227 keyboard.keycode.XF86Forward : 167 keyboard.keycode.XF86Game : 228 keyboard.keycode.XF86Go : 226 keyboard.keycode.XF86HomePage : 180 keyboard.keycode.XF86KbdBrightnessDown : 237 keyboard.keycode.XF86KbdBrightnessUp : 238 keyboard.keycode.XF86KbdLightOnOff : 236 keyboard.keycode.XF86Launch1 : 156 keyboard.keycode.XF86Launch2 : 157 keyboard.keycode.XF86Launch3 : 210 keyboard.keycode.XF86Launch4 : 211 keyboard.keycode.XF86Launch5 : 192 keyboard.keycode.XF86Launch6 : 193 keyboard.keycode.XF86Launch7 : 194 keyboard.keycode.XF86Launch8 : 195 keyboard.keycode.XF86Launch9 : 196 keyboard.keycode.XF86LaunchA : 128 keyboard.keycode.XF86LaunchB : 212 keyboard.keycode.XF86Mail : 223 keyboard.keycode.XF86MailForward : 241 keyboard.keycode.XF86MenuKB : 147 keyboard.keycode.XF86Messenger : 224 keyboard.keycode.XF86MonBrightnessDown : 232 keyboard.keycode.XF86MonBrightnessUp : 233 keyboard.keycode.XF86MyComputer : 165 keyboard.keycode.XF86New : 189 keyboard.keycode.XF86Next_VMode : 86 keyboard.keycode.XF86Open : 142 keyboard.keycode.XF86Paste : 143 keyboard.keycode.XF86Phone : 177 keyboard.keycode.XF86PowerOff : 124 keyboard.keycode.XF86Prev_VMode : 82 keyboard.keycode.XF86Reload : 181 keyboard.keycode.XF86Reply : 240 keyboard.keycode.XF86RotateWindows : 162 keyboard.keycode.XF86Save : 242 keyboard.keycode.XF86ScreenSaver : 160 keyboard.keycode.XF86ScrollDown : 186 keyboard.keycode.XF86ScrollUp : 185 keyboard.keycode.XF86Search : 225 keyboard.keycode.XF86Send : 239 keyboard.keycode.XF86Shop : 229 keyboard.keycode.XF86Sleep : 150 keyboard.keycode.XF86Standby : 223 keyboard.keycode.XF86Stop : 232 keyboard.keycode.XF86Suspend : 213 keyboard.keycode.XF86Switch_VT_1 : 67 keyboard.keycode.XF86Switch_VT_10 : 76 keyboard.keycode.XF86Switch_VT_11 : 95 keyboard.keycode.XF86Switch_VT_12 : 96 keyboard.keycode.XF86Switch_VT_2 : 68 keyboard.keycode.XF86Switch_VT_3 : 69 keyboard.keycode.XF86Switch_VT_4 : 70 keyboard.keycode.XF86Switch_VT_5 : 71 keyboard.keycode.XF86Switch_VT_6 : 72 keyboard.keycode.XF86Switch_VT_7 : 73 keyboard.keycode.XF86Switch_VT_8 : 74 keyboard.keycode.XF86Switch_VT_9 : 75 keyboard.keycode.XF86Tools : 191 keyboard.keycode.XF86TouchpadOff : 201 keyboard.keycode.XF86TouchpadOn : 200 keyboard.keycode.XF86TouchpadToggle : 199 keyboard.keycode.XF86Ungrab : 106 keyboard.keycode.XF86WLAN : 246 keyboard.keycode.XF86WWW : 158 keyboard.keycode.XF86WakeUp : 151 keyboard.keycode.XF86WebCam : 220 keyboard.keycode.XF86Xfer : 155 keyboard.keycode.Y : 29 keyboard.keycode.Z : 52 keyboard.keycode.a : 38 keyboard.keycode.ampersand : 16 keyboard.keycode.apostrophe : 48 keyboard.keycode.asciicircum : 15 keyboard.keycode.asciitilde : 49 keyboard.keycode.asterisk : 17 keyboard.keycode.at : 11 keyboard.keycode.b : 56 keyboard.keycode.backslash : 51 keyboard.keycode.bar : 94 keyboard.keycode.braceleft : 34 keyboard.keycode.braceright : 35 keyboard.keycode.bracketleft : 34 keyboard.keycode.bracketright : 35 keyboard.keycode.brokenbar : 94 keyboard.keycode.c : 54 keyboard.keycode.colon : 47 keyboard.keycode.comma : 59 keyboard.keycode.d : 40 keyboard.keycode.dollar : 13 keyboard.keycode.e : 26 keyboard.keycode.equal : 21 keyboard.keycode.exclam : 10 keyboard.keycode.f : 41 keyboard.keycode.g : 42 keyboard.keycode.grave : 49 keyboard.keycode.greater : 94 keyboard.keycode.h : 43 keyboard.keycode.i : 31 keyboard.keycode.j : 44 keyboard.keycode.k : 45 keyboard.keycode.l : 46 keyboard.keycode.less : 94 keyboard.keycode.m : 58 keyboard.keycode.minus : 20 keyboard.keycode.n : 57 keyboard.keycode.numbersign : 12 keyboard.keycode.o : 32 keyboard.keycode.p : 33 keyboard.keycode.parenleft : 187 keyboard.keycode.parenright : 188 keyboard.keycode.percent : 14 keyboard.keycode.period : 60 keyboard.keycode.plus : 21 keyboard.keycode.plusminus : 126 keyboard.keycode.q : 24 keyboard.keycode.question : 61 keyboard.keycode.quotedbl : 48 keyboard.keycode.r : 27 keyboard.keycode.s : 39 keyboard.keycode.semicolon : 47 keyboard.keycode.slash : 61 keyboard.keycode.space : 65 keyboard.keycode.t : 28 keyboard.keycode.u : 30 keyboard.keycode.underscore : 20 keyboard.keycode.v : 55 keyboard.keycode.w : 25 keyboard.keycode.x : 53 keyboard.keycode.y : 29 keyboard.keycode.z : 52 keyboard.keymap.0 : (65307, 'Escape', 9, 0, 0) keyboard.keymap.1 : (49, '1', 10, 0, 0) keyboard.keymap.10 : (37, 'percent', 14, 0, 1) keyboard.keymap.100 : (62, 'greater', 60, 0, 1) keyboard.keymap.101 : (47, 'slash', 61, 0, 0) keyboard.keymap.102 : (63, 'question', 61, 0, 1) keyboard.keymap.103 : (65506, 'Shift_R', 62, 0, 0) keyboard.keymap.104 : (65450, 'KP_Multiply', 63, 0, 0) keyboard.keymap.105 : (65450, 'KP_Multiply', 63, 0, 1) keyboard.keymap.106 : (65450, 'KP_Multiply', 63, 0, 2) keyboard.keymap.107 : (65450, 'KP_Multiply', 63, 0, 3) keyboard.keymap.108 : (269024801, 'XF86ClearGrab', 63, 0, 4) keyboard.keymap.109 : (65513, 'Alt_L', 64, 0, 0) keyboard.keymap.11 : (54, '6', 15, 0, 0) keyboard.keymap.110 : (65511, 'Meta_L', 64, 0, 1) keyboard.keymap.111 : (32, 'space', 65, 0, 0) keyboard.keymap.112 : (65509, 'Caps_Lock', 66, 0, 0) keyboard.keymap.113 : (65470, 'F1', 67, 0, 0) keyboard.keymap.114 : (65470, 'F1', 67, 0, 1) keyboard.keymap.115 : (65470, 'F1', 67, 0, 2) keyboard.keymap.116 : (65470, 'F1', 67, 0, 3) keyboard.keymap.117 : (269024769, 'XF86Switch_VT_1', 67, 0, 4) keyboard.keymap.118 : (65471, 'F2', 68, 0, 0) keyboard.keymap.119 : (65471, 'F2', 68, 0, 1) keyboard.keymap.12 : (94, 'asciicircum', 15, 0, 1) keyboard.keymap.120 : (65471, 'F2', 68, 0, 2) keyboard.keymap.121 : (65471, 'F2', 68, 0, 3) keyboard.keymap.122 : (269024770, 'XF86Switch_VT_2', 68, 0, 4) keyboard.keymap.123 : (65472, 'F3', 69, 0, 0) keyboard.keymap.124 : (65472, 'F3', 69, 0, 1) keyboard.keymap.125 : (65472, 'F3', 69, 0, 2) keyboard.keymap.126 : (65472, 'F3', 69, 0, 3) keyboard.keymap.127 : (269024771, 'XF86Switch_VT_3', 69, 0, 4) keyboard.keymap.128 : (65473, 'F4', 70, 0, 0) keyboard.keymap.129 : (65473, 'F4', 70, 0, 1) keyboard.keymap.13 : (55, '7', 16, 0, 0) keyboard.keymap.130 : (65473, 'F4', 70, 0, 2) keyboard.keymap.131 : (65473, 'F4', 70, 0, 3) keyboard.keymap.132 : (269024772, 'XF86Switch_VT_4', 70, 0, 4) keyboard.keymap.133 : (65474, 'F5', 71, 0, 0) keyboard.keymap.134 : (65474, 'F5', 71, 0, 1) keyboard.keymap.135 : (65474, 'F5', 71, 0, 2) keyboard.keymap.136 : (65474, 'F5', 71, 0, 3) keyboard.keymap.137 : (269024773, 'XF86Switch_VT_5', 71, 0, 4) keyboard.keymap.138 : (65475, 'F6', 72, 0, 0) keyboard.keymap.139 : (65475, 'F6', 72, 0, 1) keyboard.keymap.14 : (38, 'ampersand', 16, 0, 1) keyboard.keymap.140 : (65475, 'F6', 72, 0, 2) keyboard.keymap.141 : (65475, 'F6', 72, 0, 3) keyboard.keymap.142 : (269024774, 'XF86Switch_VT_6', 72, 0, 4) keyboard.keymap.143 : (65476, 'F7', 73, 0, 0) keyboard.keymap.144 : (65476, 'F7', 73, 0, 1) keyboard.keymap.145 : (65476, 'F7', 73, 0, 2) keyboard.keymap.146 : (65476, 'F7', 73, 0, 3) keyboard.keymap.147 : (269024775, 'XF86Switch_VT_7', 73, 0, 4) keyboard.keymap.148 : (65477, 'F8', 74, 0, 0) keyboard.keymap.149 : (65477, 'F8', 74, 0, 1) keyboard.keymap.15 : (56, '8', 17, 0, 0) keyboard.keymap.150 : (65477, 'F8', 74, 0, 2) keyboard.keymap.151 : (65477, 'F8', 74, 0, 3) keyboard.keymap.152 : (269024776, 'XF86Switch_VT_8', 74, 0, 4) keyboard.keymap.153 : (65478, 'F9', 75, 0, 0) keyboard.keymap.154 : (65478, 'F9', 75, 0, 1) keyboard.keymap.155 : (65478, 'F9', 75, 0, 2) keyboard.keymap.156 : (65478, 'F9', 75, 0, 3) keyboard.keymap.157 : (269024777, 'XF86Switch_VT_9', 75, 0, 4) keyboard.keymap.158 : (65479, 'F10', 76, 0, 0) keyboard.keymap.159 : (65479, 'F10', 76, 0, 1) keyboard.keymap.16 : (42, 'asterisk', 17, 0, 1) keyboard.keymap.160 : (65479, 'F10', 76, 0, 2) keyboard.keymap.161 : (65479, 'F10', 76, 0, 3) keyboard.keymap.162 : (269024778, 'XF86Switch_VT_10', 76, 0, 4) keyboard.keymap.163 : (65407, 'Num_Lock', 77, 0, 0) keyboard.keymap.164 : (65300, 'Scroll_Lock', 78, 0, 0) keyboard.keymap.165 : (65429, 'KP_Home', 79, 0, 0) keyboard.keymap.166 : (65463, 'KP_7', 79, 0, 1) keyboard.keymap.167 : (65431, 'KP_Up', 80, 0, 0) keyboard.keymap.168 : (65464, 'KP_8', 80, 0, 1) keyboard.keymap.169 : (65434, 'KP_Page_Up', 81, 0, 0) keyboard.keymap.17 : (57, '9', 18, 0, 0) keyboard.keymap.170 : (65465, 'KP_9', 81, 0, 1) keyboard.keymap.171 : (65453, 'KP_Subtract', 82, 0, 0) keyboard.keymap.172 : (65453, 'KP_Subtract', 82, 0, 1) keyboard.keymap.173 : (65453, 'KP_Subtract', 82, 0, 2) keyboard.keymap.174 : (65453, 'KP_Subtract', 82, 0, 3) keyboard.keymap.175 : (269024803, 'XF86Prev_VMode', 82, 0, 4) keyboard.keymap.176 : (65430, 'KP_Left', 83, 0, 0) keyboard.keymap.177 : (65460, 'KP_4', 83, 0, 1) keyboard.keymap.178 : (65437, 'KP_Begin', 84, 0, 0) keyboard.keymap.179 : (65461, 'KP_5', 84, 0, 1) keyboard.keymap.18 : (40, 'parenleft', 18, 0, 1) keyboard.keymap.180 : (65432, 'KP_Right', 85, 0, 0) keyboard.keymap.181 : (65462, 'KP_6', 85, 0, 1) keyboard.keymap.182 : (65451, 'KP_Add', 86, 0, 0) keyboard.keymap.183 : (65451, 'KP_Add', 86, 0, 1) keyboard.keymap.184 : (65451, 'KP_Add', 86, 0, 2) keyboard.keymap.185 : (65451, 'KP_Add', 86, 0, 3) keyboard.keymap.186 : (269024802, 'XF86Next_VMode', 86, 0, 4) keyboard.keymap.187 : (65436, 'KP_End', 87, 0, 0) keyboard.keymap.188 : (65457, 'KP_1', 87, 0, 1) keyboard.keymap.189 : (65433, 'KP_Down', 88, 0, 0) keyboard.keymap.19 : (48, '0', 19, 0, 0) keyboard.keymap.190 : (65458, 'KP_2', 88, 0, 1) keyboard.keymap.191 : (65435, 'KP_Page_Down', 89, 0, 0) keyboard.keymap.192 : (65459, 'KP_3', 89, 0, 1) keyboard.keymap.193 : (65438, 'KP_Insert', 90, 0, 0) keyboard.keymap.194 : (65456, 'KP_0', 90, 0, 1) keyboard.keymap.195 : (65439, 'KP_Delete', 91, 0, 0) keyboard.keymap.196 : (65454, 'KP_Decimal', 91, 0, 1) keyboard.keymap.197 : (65027, 'ISO_Level3_Shift', 92, 0, 0) keyboard.keymap.198 : (60, 'less', 94, 0, 0) keyboard.keymap.199 : (62, 'greater', 94, 0, 1) keyboard.keymap.2 : (33, 'exclam', 10, 0, 1) keyboard.keymap.20 : (41, 'parenright', 19, 0, 1) keyboard.keymap.200 : (124, 'bar', 94, 0, 2) keyboard.keymap.201 : (166, 'brokenbar', 94, 0, 3) keyboard.keymap.202 : (65480, 'F11', 95, 0, 0) keyboard.keymap.203 : (65480, 'F11', 95, 0, 1) keyboard.keymap.204 : (65480, 'F11', 95, 0, 2) keyboard.keymap.205 : (65480, 'F11', 95, 0, 3) keyboard.keymap.206 : (269024779, 'XF86Switch_VT_11', 95, 0, 4) keyboard.keymap.207 : (65481, 'F12', 96, 0, 0) keyboard.keymap.208 : (65481, 'F12', 96, 0, 1) keyboard.keymap.209 : (65481, 'F12', 96, 0, 2) keyboard.keymap.21 : (45, 'minus', 20, 0, 0) keyboard.keymap.210 : (65481, 'F12', 96, 0, 3) keyboard.keymap.211 : (269024780, 'XF86Switch_VT_12', 96, 0, 4) keyboard.keymap.212 : (65318, 'Katakana', 98, 0, 0) keyboard.keymap.213 : (65317, 'Hiragana', 99, 0, 0) keyboard.keymap.214 : (65315, 'Henkan_Mode', 100, 0, 0) keyboard.keymap.215 : (65319, 'Hiragana_Katakana', 101, 0, 0) keyboard.keymap.216 : (65314, 'Muhenkan', 102, 0, 0) keyboard.keymap.217 : (65421, 'KP_Enter', 104, 0, 0) keyboard.keymap.218 : (65508, 'Control_R', 105, 0, 0) keyboard.keymap.219 : (65455, 'KP_Divide', 106, 0, 0) keyboard.keymap.22 : (95, 'underscore', 20, 0, 1) keyboard.keymap.220 : (65455, 'KP_Divide', 106, 0, 1) keyboard.keymap.221 : (65455, 'KP_Divide', 106, 0, 2) keyboard.keymap.222 : (65455, 'KP_Divide', 106, 0, 3) keyboard.keymap.223 : (269024800, 'XF86Ungrab', 106, 0, 4) keyboard.keymap.224 : (65377, 'Print', 107, 0, 0) keyboard.keymap.225 : (65301, 'Sys_Req', 107, 0, 1) keyboard.keymap.226 : (65514, 'Alt_R', 108, 0, 0) keyboard.keymap.227 : (65512, 'Meta_R', 108, 0, 1) keyboard.keymap.228 : (65290, 'Linefeed', 109, 0, 0) keyboard.keymap.229 : (65360, 'Home', 110, 0, 0) keyboard.keymap.23 : (61, 'equal', 21, 0, 0) keyboard.keymap.230 : (65362, 'Up', 111, 0, 0) keyboard.keymap.231 : (65365, 'Page_Up', 112, 0, 0) keyboard.keymap.232 : (65361, 'Left', 113, 0, 0) keyboard.keymap.233 : (65363, 'Right', 114, 0, 0) keyboard.keymap.234 : (65367, 'End', 115, 0, 0) keyboard.keymap.235 : (65364, 'Down', 116, 0, 0) keyboard.keymap.236 : (65366, 'Page_Down', 117, 0, 0) keyboard.keymap.237 : (65379, 'Insert', 118, 0, 0) keyboard.keymap.238 : (65535, 'Delete', 119, 0, 0) keyboard.keymap.239 : (269025042, 'XF86AudioMute', 121, 0, 0) keyboard.keymap.24 : (43, 'plus', 21, 0, 1) keyboard.keymap.240 : (269025041, 'XF86AudioLowerVolume', 122, 0, 0) keyboard.keymap.241 : (269025043, 'XF86AudioRaiseVolume', 123, 0, 0) keyboard.keymap.242 : (269025066, 'XF86PowerOff', 124, 0, 0) keyboard.keymap.243 : (65469, 'KP_Equal', 125, 0, 0) keyboard.keymap.244 : (177, 'plusminus', 126, 0, 0) keyboard.keymap.245 : (65299, 'Pause', 127, 0, 0) keyboard.keymap.246 : (65387, 'Break', 127, 0, 1) keyboard.keymap.247 : (269025098, 'XF86LaunchA', 128, 0, 0) keyboard.keymap.248 : (65454, 'KP_Decimal', 129, 0, 0) keyboard.keymap.249 : (65454, 'KP_Decimal', 129, 0, 1) keyboard.keymap.25 : (65288, 'BackSpace', 22, 0, 0) keyboard.keymap.250 : (65329, 'Hangul', 130, 0, 0) keyboard.keymap.251 : (65332, 'Hangul_Hanja', 131, 0, 0) keyboard.keymap.252 : (65312, 'Multi_key', 133, 0, 0) keyboard.keymap.253 : (65312, 'Multi_key', 133, 0, 1) keyboard.keymap.254 : (65516, 'Super_R', 134, 0, 0) keyboard.keymap.255 : (65383, 'Menu', 135, 0, 0) keyboard.keymap.256 : (65385, 'Cancel', 136, 0, 0) keyboard.keymap.257 : (65382, 'Redo', 137, 0, 0) keyboard.keymap.258 : (268828528, 'SunProps', 138, 0, 0) keyboard.keymap.259 : (65381, 'Undo', 139, 0, 0) keyboard.keymap.26 : (65288, 'BackSpace', 22, 0, 1) keyboard.keymap.260 : (268828529, 'SunFront', 140, 0, 0) keyboard.keymap.261 : (269025111, 'XF86Copy', 141, 0, 0) keyboard.keymap.262 : (269025131, 'XF86Open', 142, 0, 0) keyboard.keymap.263 : (269025133, 'XF86Paste', 143, 0, 0) keyboard.keymap.264 : (65384, 'Find', 144, 0, 0) keyboard.keymap.265 : (269025112, 'XF86Cut', 145, 0, 0) keyboard.keymap.266 : (65386, 'Help', 146, 0, 0) keyboard.keymap.267 : (269025125, 'XF86MenuKB', 147, 0, 0) keyboard.keymap.268 : (269025053, 'XF86Calculator', 148, 0, 0) keyboard.keymap.269 : (269025071, 'XF86Sleep', 150, 0, 0) keyboard.keymap.27 : (65237, 'Terminate_Server', 22, 0, 4) keyboard.keymap.270 : (269025067, 'XF86WakeUp', 151, 0, 0) keyboard.keymap.271 : (269025117, 'XF86Explorer', 152, 0, 0) keyboard.keymap.272 : (269025147, 'XF86Send', 153, 0, 0) keyboard.keymap.273 : (269025162, 'XF86Xfer', 155, 0, 0) keyboard.keymap.274 : (269025089, 'XF86Launch1', 156, 0, 0) keyboard.keymap.275 : (269025090, 'XF86Launch2', 157, 0, 0) keyboard.keymap.276 : (269025070, 'XF86WWW', 158, 0, 0) keyboard.keymap.277 : (269025114, 'XF86DOS', 159, 0, 0) keyboard.keymap.278 : (269025069, 'XF86ScreenSaver', 160, 0, 0) keyboard.keymap.279 : (269025140, 'XF86RotateWindows', 162, 0, 0) keyboard.keymap.28 : (65289, 'Tab', 23, 0, 0) keyboard.keymap.280 : (269025049, 'XF86Mail', 163, 0, 0) keyboard.keymap.281 : (269025072, 'XF86Favorites', 164, 0, 0) keyboard.keymap.282 : (269025075, 'XF86MyComputer', 165, 0, 0) keyboard.keymap.283 : (269025062, 'XF86Back', 166, 0, 0) keyboard.keymap.284 : (269025063, 'XF86Forward', 167, 0, 0) keyboard.keymap.285 : (269025068, 'XF86Eject', 169, 0, 0) keyboard.keymap.286 : (269025068, 'XF86Eject', 170, 0, 0) keyboard.keymap.287 : (269025068, 'XF86Eject', 170, 0, 1) keyboard.keymap.288 : (269025047, 'XF86AudioNext', 171, 0, 0) keyboard.keymap.289 : (269025044, 'XF86AudioPlay', 172, 0, 0) keyboard.keymap.29 : (65056, 'ISO_Left_Tab', 23, 0, 1) keyboard.keymap.290 : (269025073, 'XF86AudioPause', 172, 0, 1) keyboard.keymap.291 : (269025046, 'XF86AudioPrev', 173, 0, 0) keyboard.keymap.292 : (269025045, 'XF86AudioStop', 174, 0, 0) keyboard.keymap.293 : (269025068, 'XF86Eject', 174, 0, 1) keyboard.keymap.294 : (269025052, 'XF86AudioRecord', 175, 0, 0) keyboard.keymap.295 : (269025086, 'XF86AudioRewind', 176, 0, 0) keyboard.keymap.296 : (269025134, 'XF86Phone', 177, 0, 0) keyboard.keymap.297 : (269025153, 'XF86Tools', 179, 0, 0) keyboard.keymap.298 : (269025048, 'XF86HomePage', 180, 0, 0) keyboard.keymap.299 : (269025139, 'XF86Reload', 181, 0, 0) keyboard.keymap.3 : (50, '2', 11, 0, 0) keyboard.keymap.30 : (113, 'q', 24, 0, 0) keyboard.keymap.300 : (269025110, 'XF86Close', 182, 0, 0) keyboard.keymap.301 : (269025144, 'XF86ScrollUp', 185, 0, 0) keyboard.keymap.302 : (269025145, 'XF86ScrollDown', 186, 0, 0) keyboard.keymap.303 : (40, 'parenleft', 187, 0, 0) keyboard.keymap.304 : (41, 'parenright', 188, 0, 0) keyboard.keymap.305 : (269025128, 'XF86New', 189, 0, 0) keyboard.keymap.306 : (65382, 'Redo', 190, 0, 0) keyboard.keymap.307 : (269025153, 'XF86Tools', 191, 0, 0) keyboard.keymap.308 : (269025093, 'XF86Launch5', 192, 0, 0) keyboard.keymap.309 : (269025094, 'XF86Launch6', 193, 0, 0) keyboard.keymap.31 : (81, 'Q', 24, 0, 1) keyboard.keymap.310 : (269025095, 'XF86Launch7', 194, 0, 0) keyboard.keymap.311 : (269025096, 'XF86Launch8', 195, 0, 0) keyboard.keymap.312 : (269025097, 'XF86Launch9', 196, 0, 0) keyboard.keymap.313 : (269025202, 'XF86AudioMicMute', 198, 0, 0) keyboard.keymap.314 : (269025193, 'XF86TouchpadToggle', 199, 0, 0) keyboard.keymap.315 : (269025200, 'XF86TouchpadOn', 200, 0, 0) keyboard.keymap.316 : (269025201, 'XF86TouchpadOff', 201, 0, 0) keyboard.keymap.317 : (65406, 'Mode_switch', 203, 0, 0) keyboard.keymap.318 : (65513, 'Alt_L', 204, 0, 1) keyboard.keymap.319 : (65511, 'Meta_L', 205, 0, 1) keyboard.keymap.32 : (119, 'w', 25, 0, 0) keyboard.keymap.320 : (65515, 'Super_L', 206, 0, 1) keyboard.keymap.321 : (65517, 'Hyper_L', 207, 0, 1) keyboard.keymap.322 : (269025044, 'XF86AudioPlay', 208, 0, 0) keyboard.keymap.323 : (269025073, 'XF86AudioPause', 209, 0, 0) keyboard.keymap.324 : (269025091, 'XF86Launch3', 210, 0, 0) keyboard.keymap.325 : (269025092, 'XF86Launch4', 211, 0, 0) keyboard.keymap.326 : (269025099, 'XF86LaunchB', 212, 0, 0) keyboard.keymap.327 : (269025191, 'XF86Suspend', 213, 0, 0) keyboard.keymap.328 : (269025110, 'XF86Close', 214, 0, 0) keyboard.keymap.329 : (269025044, 'XF86AudioPlay', 215, 0, 0) keyboard.keymap.33 : (87, 'W', 25, 0, 1) keyboard.keymap.330 : (269025175, 'XF86AudioForward', 216, 0, 0) keyboard.keymap.331 : (65377, 'Print', 218, 0, 0) keyboard.keymap.332 : (269025167, 'XF86WebCam', 220, 0, 0) keyboard.keymap.333 : (269025049, 'XF86Mail', 223, 0, 0) keyboard.keymap.334 : (269025166, 'XF86Messenger', 224, 0, 0) keyboard.keymap.335 : (269025051, 'XF86Search', 225, 0, 0) keyboard.keymap.336 : (269025119, 'XF86Go', 226, 0, 0) keyboard.keymap.337 : (269025084, 'XF86Finance', 227, 0, 0) keyboard.keymap.338 : (269025118, 'XF86Game', 228, 0, 0) keyboard.keymap.339 : (269025078, 'XF86Shop', 229, 0, 0) keyboard.keymap.34 : (101, 'e', 26, 0, 0) keyboard.keymap.340 : (65385, 'Cancel', 231, 0, 0) keyboard.keymap.341 : (269025027, 'XF86MonBrightnessDown', 232, 0, 0) keyboard.keymap.342 : (269025026, 'XF86MonBrightnessUp', 233, 0, 0) keyboard.keymap.343 : (269025074, 'XF86AudioMedia', 234, 0, 0) keyboard.keymap.344 : (269025113, 'XF86Display', 235, 0, 0) keyboard.keymap.345 : (269025028, 'XF86KbdLightOnOff', 236, 0, 0) keyboard.keymap.346 : (269025030, 'XF86KbdBrightnessDown', 237, 0, 0) keyboard.keymap.347 : (269025029, 'XF86KbdBrightnessUp', 238, 0, 0) keyboard.keymap.348 : (269025147, 'XF86Send', 239, 0, 0) keyboard.keymap.349 : (269025138, 'XF86Reply', 240, 0, 0) keyboard.keymap.35 : (69, 'E', 26, 0, 1) keyboard.keymap.350 : (269025168, 'XF86MailForward', 241, 0, 0) keyboard.keymap.351 : (269025143, 'XF86Save', 242, 0, 0) keyboard.keymap.352 : (269025115, 'XF86Documents', 243, 0, 0) keyboard.keymap.353 : (269025171, 'XF86Battery', 244, 0, 0) keyboard.keymap.354 : (269025172, 'XF86Bluetooth', 245, 0, 0) keyboard.keymap.355 : (269025173, 'XF86WLAN', 246, 0, 0) keyboard.keymap.36 : (114, 'r', 27, 0, 0) keyboard.keymap.37 : (82, 'R', 27, 0, 1) keyboard.keymap.38 : (116, 't', 28, 0, 0) keyboard.keymap.39 : (84, 'T', 28, 0, 1) keyboard.keymap.4 : (64, 'at', 11, 0, 1) keyboard.keymap.40 : (121, 'y', 29, 0, 0) keyboard.keymap.41 : (89, 'Y', 29, 0, 1) keyboard.keymap.42 : (117, 'u', 30, 0, 0) keyboard.keymap.43 : (85, 'U', 30, 0, 1) keyboard.keymap.44 : (105, 'i', 31, 0, 0) keyboard.keymap.45 : (73, 'I', 31, 0, 1) keyboard.keymap.46 : (111, 'o', 32, 0, 0) keyboard.keymap.47 : (79, 'O', 32, 0, 1) keyboard.keymap.48 : (112, 'p', 33, 0, 0) keyboard.keymap.49 : (80, 'P', 33, 0, 1) keyboard.keymap.5 : (51, '3', 12, 0, 0) keyboard.keymap.50 : (91, 'bracketleft', 34, 0, 0) keyboard.keymap.51 : (123, 'braceleft', 34, 0, 1) keyboard.keymap.52 : (93, 'bracketright', 35, 0, 0) keyboard.keymap.53 : (125, 'braceright', 35, 0, 1) keyboard.keymap.54 : (65293, 'Return', 36, 0, 0) keyboard.keymap.55 : (65507, 'Control_L', 37, 0, 0) keyboard.keymap.56 : (97, 'a', 38, 0, 0) keyboard.keymap.57 : (65, 'A', 38, 0, 1) keyboard.keymap.58 : (115, 's', 39, 0, 0) keyboard.keymap.59 : (83, 'S', 39, 0, 1) keyboard.keymap.6 : (35, 'numbersign', 12, 0, 1) keyboard.keymap.60 : (100, 'd', 40, 0, 0) keyboard.keymap.61 : (68, 'D', 40, 0, 1) keyboard.keymap.62 : (102, 'f', 41, 0, 0) keyboard.keymap.63 : (70, 'F', 41, 0, 1) keyboard.keymap.64 : (103, 'g', 42, 0, 0) keyboard.keymap.65 : (71, 'G', 42, 0, 1) keyboard.keymap.66 : (104, 'h', 43, 0, 0) keyboard.keymap.67 : (72, 'H', 43, 0, 1) keyboard.keymap.68 : (106, 'j', 44, 0, 0) keyboard.keymap.69 : (74, 'J', 44, 0, 1) keyboard.keymap.7 : (52, '4', 13, 0, 0) keyboard.keymap.70 : (107, 'k', 45, 0, 0) keyboard.keymap.71 : (75, 'K', 45, 0, 1) keyboard.keymap.72 : (108, 'l', 46, 0, 0) keyboard.keymap.73 : (76, 'L', 46, 0, 1) keyboard.keymap.74 : (59, 'semicolon', 47, 0, 0) keyboard.keymap.75 : (58, 'colon', 47, 0, 1) keyboard.keymap.76 : (39, 'apostrophe', 48, 0, 0) keyboard.keymap.77 : (34, 'quotedbl', 48, 0, 1) keyboard.keymap.78 : (96, 'grave', 49, 0, 0) keyboard.keymap.79 : (126, 'asciitilde', 49, 0, 1) keyboard.keymap.8 : (36, 'dollar', 13, 0, 1) keyboard.keymap.80 : (65505, 'Shift_L', 50, 0, 0) keyboard.keymap.81 : (92, 'backslash', 51, 0, 0) keyboard.keymap.82 : (124, 'bar', 51, 0, 1) keyboard.keymap.83 : (122, 'z', 52, 0, 0) keyboard.keymap.84 : (90, 'Z', 52, 0, 1) keyboard.keymap.85 : (120, 'x', 53, 0, 0) keyboard.keymap.86 : (88, 'X', 53, 0, 1) keyboard.keymap.87 : (99, 'c', 54, 0, 0) keyboard.keymap.88 : (67, 'C', 54, 0, 1) keyboard.keymap.89 : (118, 'v', 55, 0, 0) keyboard.keymap.9 : (53, '5', 14, 0, 0) keyboard.keymap.90 : (86, 'V', 55, 0, 1) keyboard.keymap.91 : (98, 'b', 56, 0, 0) keyboard.keymap.92 : (66, 'B', 56, 0, 1) keyboard.keymap.93 : (110, 'n', 57, 0, 0) keyboard.keymap.94 : (78, 'N', 57, 0, 1) keyboard.keymap.95 : (109, 'm', 58, 0, 0) keyboard.keymap.96 : (77, 'M', 58, 0, 1) keyboard.keymap.97 : (44, 'comma', 59, 0, 0) keyboard.keymap.98 : (60, 'less', 59, 0, 1) keyboard.keymap.99 : (46, 'period', 60, 0, 0) keyboard.keys_pressed : () keyboard.keysym.0 : 19 keyboard.keysym.1 : 10 keyboard.keysym.2 : 11 keyboard.keysym.3 : 12 keyboard.keysym.4 : 13 keyboard.keysym.5 : 14 keyboard.keysym.6 : 15 keyboard.keysym.7 : 16 keyboard.keysym.8 : 17 keyboard.keysym.9 : 18 keyboard.keysym.A : 38 keyboard.keysym.Alt_L : 204 keyboard.keysym.Alt_R : 108 keyboard.keysym.B : 56 keyboard.keysym.BackSpace : 22 keyboard.keysym.Break : 127 keyboard.keysym.C : 54 keyboard.keysym.Cancel : 231 keyboard.keysym.Caps_Lock : 66 keyboard.keysym.Control_L : 37 keyboard.keysym.Control_R : 105 keyboard.keysym.D : 40 keyboard.keysym.Delete : 119 keyboard.keysym.Down : 116 keyboard.keysym.E : 26 keyboard.keysym.End : 115 keyboard.keysym.Escape : 9 keyboard.keysym.F : 41 keyboard.keysym.F1 : 67 keyboard.keysym.F10 : 76 keyboard.keysym.F11 : 95 keyboard.keysym.F12 : 96 keyboard.keysym.F2 : 68 keyboard.keysym.F3 : 69 keyboard.keysym.F4 : 70 keyboard.keysym.F5 : 71 keyboard.keysym.F6 : 72 keyboard.keysym.F7 : 73 keyboard.keysym.F8 : 74 keyboard.keysym.F9 : 75 keyboard.keysym.Find : 144 keyboard.keysym.G : 42 keyboard.keysym.H : 43 keyboard.keysym.Hangul : 130 keyboard.keysym.Hangul_Hanja : 131 keyboard.keysym.Help : 146 keyboard.keysym.Henkan_Mode : 100 keyboard.keysym.Hiragana : 99 keyboard.keysym.Hiragana_Katakana : 101 keyboard.keysym.Home : 110 keyboard.keysym.Hyper_L : 207 keyboard.keysym.I : 31 keyboard.keysym.ISO_Left_Tab : 23 keyboard.keysym.ISO_Level3_Shift : 92 keyboard.keysym.Insert : 118 keyboard.keysym.J : 44 keyboard.keysym.K : 45 keyboard.keysym.KP_0 : 90 keyboard.keysym.KP_1 : 87 keyboard.keysym.KP_2 : 88 keyboard.keysym.KP_3 : 89 keyboard.keysym.KP_4 : 83 keyboard.keysym.KP_5 : 84 keyboard.keysym.KP_6 : 85 keyboard.keysym.KP_7 : 79 keyboard.keysym.KP_8 : 80 keyboard.keysym.KP_9 : 81 keyboard.keysym.KP_Add : 86 keyboard.keysym.KP_Begin : 84 keyboard.keysym.KP_Decimal : 129 keyboard.keysym.KP_Delete : 91 keyboard.keysym.KP_Divide : 106 keyboard.keysym.KP_Down : 88 keyboard.keysym.KP_End : 87 keyboard.keysym.KP_Enter : 104 keyboard.keysym.KP_Equal : 125 keyboard.keysym.KP_Home : 79 keyboard.keysym.KP_Insert : 90 keyboard.keysym.KP_Left : 83 keyboard.keysym.KP_Multiply : 63 keyboard.keysym.KP_Next : 89 keyboard.keysym.KP_Page_Down : 89 keyboard.keysym.KP_Page_Up : 81 keyboard.keysym.KP_Prior : 81 keyboard.keysym.KP_Right : 85 keyboard.keysym.KP_Subtract : 82 keyboard.keysym.KP_Up : 80 keyboard.keysym.Katakana : 98 keyboard.keysym.L : 46 keyboard.keysym.Left : 113 keyboard.keysym.Linefeed : 109 keyboard.keysym.M : 58 keyboard.keysym.Menu : 135 keyboard.keysym.Meta_L : 205 keyboard.keysym.Meta_R : 108 keyboard.keysym.Mode_switch : 203 keyboard.keysym.Muhenkan : 102 keyboard.keysym.Multi_key : 133 keyboard.keysym.N : 57 keyboard.keysym.Next : 117 keyboard.keysym.Num_Lock : 77 keyboard.keysym.O : 32 keyboard.keysym.P : 33 keyboard.keysym.Page_Down : 105 keyboard.keysym.Page_Up : 99 keyboard.keysym.Pause : 127 keyboard.keysym.Print : 218 keyboard.keysym.Prior : 112 keyboard.keysym.Q : 24 keyboard.keysym.R : 27 keyboard.keysym.Redo : 190 keyboard.keysym.Return : 36 keyboard.keysym.Right : 114 keyboard.keysym.S : 39 keyboard.keysym.Scroll_Lock : 78 keyboard.keysym.Shift_L : 50 keyboard.keysym.Shift_R : 62 keyboard.keysym.SunFront : 140 keyboard.keysym.SunProps : 138 keyboard.keysym.Super_L : 206 keyboard.keysym.Super_R : 134 keyboard.keysym.Sys_Req : 107 keyboard.keysym.T : 28 keyboard.keysym.Tab : 23 keyboard.keysym.Terminate_Server : 22 keyboard.keysym.U : 30 keyboard.keysym.Undo : 139 keyboard.keysym.Up : 111 keyboard.keysym.V : 55 keyboard.keysym.W : 25 keyboard.keysym.X : 53 keyboard.keysym.XF86AudioForward : 216 keyboard.keysym.XF86AudioLowerVolume : 122 keyboard.keysym.XF86AudioMedia : 234 keyboard.keysym.XF86AudioMicMute : 198 keyboard.keysym.XF86AudioMute : 121 keyboard.keysym.XF86AudioNext : 171 keyboard.keysym.XF86AudioPause : 209 keyboard.keysym.XF86AudioPlay : 215 keyboard.keysym.XF86AudioPrev : 173 keyboard.keysym.XF86AudioRaiseVolume : 123 keyboard.keysym.XF86AudioRecord : 175 keyboard.keysym.XF86AudioRewind : 176 keyboard.keysym.XF86AudioStop : 174 keyboard.keysym.XF86Back : 166 keyboard.keysym.XF86Battery : 244 keyboard.keysym.XF86Bluetooth : 245 keyboard.keysym.XF86Calculator : 148 keyboard.keysym.XF86ClearGrab : 63 keyboard.keysym.XF86Close : 214 keyboard.keysym.XF86Copy : 141 keyboard.keysym.XF86Cut : 145 keyboard.keysym.XF86DOS : 159 keyboard.keysym.XF86Display : 235 keyboard.keysym.XF86Documents : 243 keyboard.keysym.XF86Eject : 174 keyboard.keysym.XF86Explorer : 152 keyboard.keysym.XF86Favorites : 164 keyboard.keysym.XF86Finance : 227 keyboard.keysym.XF86Forward : 167 keyboard.keysym.XF86Game : 228 keyboard.keysym.XF86Go : 226 keyboard.keysym.XF86HomePage : 180 keyboard.keysym.XF86KbdBrightnessDown : 237 keyboard.keysym.XF86KbdBrightnessUp : 238 keyboard.keysym.XF86KbdLightOnOff : 236 keyboard.keysym.XF86Launch1 : 156 keyboard.keysym.XF86Launch2 : 157 keyboard.keysym.XF86Launch3 : 210 keyboard.keysym.XF86Launch4 : 211 keyboard.keysym.XF86Launch5 : 192 keyboard.keysym.XF86Launch6 : 193 keyboard.keysym.XF86Launch7 : 194 keyboard.keysym.XF86Launch8 : 195 keyboard.keysym.XF86Launch9 : 196 keyboard.keysym.XF86LaunchA : 128 keyboard.keysym.XF86LaunchB : 212 keyboard.keysym.XF86Mail : 223 keyboard.keysym.XF86MailForward : 241 keyboard.keysym.XF86MenuKB : 147 keyboard.keysym.XF86Messenger : 224 keyboard.keysym.XF86MonBrightnessDown : 232 keyboard.keysym.XF86MonBrightnessUp : 233 keyboard.keysym.XF86MyComputer : 165 keyboard.keysym.XF86New : 189 keyboard.keysym.XF86Next_VMode : 86 keyboard.keysym.XF86Open : 142 keyboard.keysym.XF86Paste : 143 keyboard.keysym.XF86Phone : 177 keyboard.keysym.XF86PowerOff : 124 keyboard.keysym.XF86Prev_VMode : 82 keyboard.keysym.XF86Reload : 181 keyboard.keysym.XF86Reply : 240 keyboard.keysym.XF86RotateWindows : 162 keyboard.keysym.XF86Save : 242 keyboard.keysym.XF86ScreenSaver : 160 keyboard.keysym.XF86ScrollDown : 186 keyboard.keysym.XF86ScrollUp : 185 keyboard.keysym.XF86Search : 225 keyboard.keysym.XF86Send : 239 keyboard.keysym.XF86Shop : 229 keyboard.keysym.XF86Sleep : 150 keyboard.keysym.XF86Standby : 223 keyboard.keysym.XF86Stop : 232 keyboard.keysym.XF86Suspend : 213 keyboard.keysym.XF86Switch_VT_1 : 67 keyboard.keysym.XF86Switch_VT_10 : 76 keyboard.keysym.XF86Switch_VT_11 : 95 keyboard.keysym.XF86Switch_VT_12 : 96 keyboard.keysym.XF86Switch_VT_2 : 68 keyboard.keysym.XF86Switch_VT_3 : 69 keyboard.keysym.XF86Switch_VT_4 : 70 keyboard.keysym.XF86Switch_VT_5 : 71 keyboard.keysym.XF86Switch_VT_6 : 72 keyboard.keysym.XF86Switch_VT_7 : 73 keyboard.keysym.XF86Switch_VT_8 : 74 keyboard.keysym.XF86Switch_VT_9 : 75 keyboard.keysym.XF86Tools : 191 keyboard.keysym.XF86TouchpadOff : 201 keyboard.keysym.XF86TouchpadOn : 200 keyboard.keysym.XF86TouchpadToggle : 199 keyboard.keysym.XF86Ungrab : 106 keyboard.keysym.XF86WLAN : 246 keyboard.keysym.XF86WWW : 158 keyboard.keysym.XF86WakeUp : 151 keyboard.keysym.XF86WebCam : 220 keyboard.keysym.XF86Xfer : 155 keyboard.keysym.Y : 29 keyboard.keysym.Z : 52 keyboard.keysym.a : 38 keyboard.keysym.ampersand : 16 keyboard.keysym.apostrophe : 48 keyboard.keysym.asciicircum : 15 keyboard.keysym.asciitilde : 49 keyboard.keysym.asterisk : 17 keyboard.keysym.at : 11 keyboard.keysym.b : 56 keyboard.keysym.backslash : 51 keyboard.keysym.bar : 94 keyboard.keysym.braceleft : 34 keyboard.keysym.braceright : 35 keyboard.keysym.bracketleft : 34 keyboard.keysym.bracketright : 35 keyboard.keysym.brokenbar : 94 keyboard.keysym.c : 54 keyboard.keysym.colon : 47 keyboard.keysym.comma : 59 keyboard.keysym.d : 40 keyboard.keysym.dollar : 13 keyboard.keysym.e : 26 keyboard.keysym.equal : 21 keyboard.keysym.exclam : 10 keyboard.keysym.f : 41 keyboard.keysym.g : 42 keyboard.keysym.grave : 49 keyboard.keysym.greater : 94 keyboard.keysym.h : 43 keyboard.keysym.i : 31 keyboard.keysym.j : 44 keyboard.keysym.k : 45 keyboard.keysym.l : 46 keyboard.keysym.less : 94 keyboard.keysym.m : 58 keyboard.keysym.minus : 20 keyboard.keysym.n : 57 keyboard.keysym.numbersign : 12 keyboard.keysym.o : 32 keyboard.keysym.p : 33 keyboard.keysym.parenleft : 187 keyboard.keysym.parenright : 188 keyboard.keysym.percent : 14 keyboard.keysym.period : 60 keyboard.keysym.plus : 21 keyboard.keysym.plusminus : 126 keyboard.keysym.q : 24 keyboard.keysym.question : 61 keyboard.keysym.quotedbl : 48 keyboard.keysym.r : 27 keyboard.keysym.s : 39 keyboard.keysym.semicolon : 47 keyboard.keysym.slash : 61 keyboard.keysym.space : 65 keyboard.keysym.t : 28 keyboard.keysym.u : 30 keyboard.keysym.underscore : 20 keyboard.keysym.v : 55 keyboard.keysym.w : 25 keyboard.keysym.x : 53 keyboard.keysym.y : 29 keyboard.keysym.z : 52 keyboard.layout : us keyboard.modifier.Alt_L : mod1 keyboard.modifier.Alt_L.keycodes : (64, 204) keyboard.modifier.Alt_R : mod1 keyboard.modifier.Alt_R.keycodes : (108,) keyboard.modifier.Caps_Lock : lock keyboard.modifier.Caps_Lock.keycodes : (66,) keyboard.modifier.Control_L : control keyboard.modifier.Control_L.keycodes : (37,) keyboard.modifier.Control_R : control keyboard.modifier.Control_R.keycodes : (105,) keyboard.modifier.Hyper_L : mod4 keyboard.modifier.Hyper_L.keycodes : (207,) keyboard.modifier.ISO_Level3_Shift : mod5 keyboard.modifier.ISO_Level3_Shift.keycodes : (92,) keyboard.modifier.Meta_L : mod1 keyboard.modifier.Meta_L.keycodes : (64, 205) keyboard.modifier.Mode_switch : mod5 keyboard.modifier.Mode_switch.keycodes : (203,) keyboard.modifier.Num_Lock : mod2 keyboard.modifier.Num_Lock.keycodes : (77,) keyboard.modifier.Shift_L : shift keyboard.modifier.Shift_L.keycodes : (50,) keyboard.modifier.Shift_R : shift keyboard.modifier.Shift_R.keycodes : (62,) keyboard.modifier.Super_L : mod4 keyboard.modifier.Super_L.keycodes : (206,) keyboard.modifier.Super_R : mod4 keyboard.modifier.Super_R.keycodes : (134,) keyboard.modifier.control.client_keys : (('Control_L', 'Control_L'), ('Control_R', 'Control_R')) keyboard.modifier.control.keys : ('Control_L', 'Control_R') keyboard.modifier.lock.client_keys : (('Caps_Lock', 'Caps_Lock'),) keyboard.modifier.lock.keys : ('Caps_Lock',) keyboard.modifier.mod1.client_keys : ((64, 'Alt_L'), ('Meta_R', 'Alt_R'), ('Alt_L', 'Alt_L'), ('Meta_L', 'Meta_L')) keyboard.modifier.mod1.keys : ('Alt_R', 'Meta_L', 'Alt_L') keyboard.modifier.mod2.client_keys : (('Num_Lock', 'Num_Lock'),) keyboard.modifier.mod2.keys : ('Num_Lock',) keyboard.modifier.mod3.client_keys : () keyboard.modifier.mod4.client_keys : (('Super_R', 'Super_R'), ('Super_L', 'Super_L'), ('Hyper_L', 'Hyper_L')) keyboard.modifier.mod4.keys : ('Super_R', 'Hyper_L', 'Super_L') keyboard.modifier.mod5.client_keys : (('ISO_Level3_Shift', 'ISO_Level3_Shift'), ('Mode_switch', 'Mode_switch')) keyboard.modifier.mod5.keys : ('ISO_Level3_Shift', 'Mode_switch') keyboard.modifier.shift.client_keys : (('Shift_L', 'Shift_L'), ('Shift_R', 'Shift_R')) keyboard.modifier.shift.keys : ('Shift_L', 'Shift_R') keyboard.modifiers : {} keyboard.modifiers.filter : () keyboard.modifiers.nuisance : ('lock', 'mod2') keyboard.modifiers.pointermissing : ('mod2',) keyboard.native : True keyboard.print : xkb_keymap {\n xkb_keycodes { include "evdev+aliases(qwerty)" };\n xkb_types { include "complete" };\n xkb_compat { include "complete" };\n xkb_symbols { include "pc+us+inet(evdev)+compose(lwin)+terminate(ctrl_alt_bksp)" };\n xkb_geometry { include "pc(pc101)" };\n};\n keyboard.repeat.delay : 660 keyboard.repeat.interval : 40 keyboard.state.keys_pressed : () keyboard.sync : False keyboard.x11_keycode.10 : ('1', 'exclam', '1', 'exclam') keyboard.x11_keycode.100 : ('Henkan_Mode', '', 'Henkan_Mode') keyboard.x11_keycode.101 : ('Hiragana_Katakana', '', 'Hiragana_Katakana') keyboard.x11_keycode.102 : ('Muhenkan', '', 'Muhenkan') keyboard.x11_keycode.104 : ('KP_Enter', '', 'KP_Enter') keyboard.x11_keycode.105 : ('Control_R', '', 'Control_R') keyboard.x11_keycode.106 : ('KP_Divide', 'KP_Divide', 'KP_Divide', 'KP_Divide', 'KP_Divide', 'KP_Divide', 'XF86Ungrab') keyboard.x11_keycode.107 : ('Print', 'Sys_Req', 'Print', 'Sys_Req') keyboard.x11_keycode.108 : ('Alt_R', 'Meta_R', 'Alt_R', 'Meta_R') keyboard.x11_keycode.109 : ('Linefeed', '', 'Linefeed') keyboard.x11_keycode.11 : ('2', 'at', '2', 'at') keyboard.x11_keycode.110 : ('Home', '', 'Home') keyboard.x11_keycode.111 : ('Up', '', 'Up') keyboard.x11_keycode.112 : ('Prior', '', 'Prior') keyboard.x11_keycode.113 : ('Left', '', 'Left') keyboard.x11_keycode.114 : ('Right', '', 'Right') keyboard.x11_keycode.115 : ('End', '', 'End') keyboard.x11_keycode.116 : ('Down', '', 'Down') keyboard.x11_keycode.117 : ('Next', '', 'Next') keyboard.x11_keycode.118 : ('Insert', '', 'Insert') keyboard.x11_keycode.119 : ('Delete', '', 'Delete') keyboard.x11_keycode.12 : ('3', 'numbersign', '3', 'numbersign') keyboard.x11_keycode.121 : ('XF86AudioMute', '', 'XF86AudioMute') keyboard.x11_keycode.122 : ('XF86AudioLowerVolume', '', 'XF86AudioLowerVolume') keyboard.x11_keycode.123 : ('XF86AudioRaiseVolume', '', 'XF86AudioRaiseVolume') keyboard.x11_keycode.124 : ('XF86PowerOff', '', 'XF86PowerOff') keyboard.x11_keycode.125 : ('KP_Equal', '', 'KP_Equal') keyboard.x11_keycode.126 : ('plusminus', '', 'plusminus') keyboard.x11_keycode.127 : ('Pause', 'Break', 'Pause', 'Break') keyboard.x11_keycode.128 : ('XF86LaunchA', '', 'XF86LaunchA') keyboard.x11_keycode.129 : ('KP_Decimal', 'KP_Decimal', 'KP_Decimal', 'KP_Decimal') keyboard.x11_keycode.13 : ('4', 'dollar', '4', 'dollar') keyboard.x11_keycode.130 : ('Hangul', '', 'Hangul') keyboard.x11_keycode.131 : ('Hangul_Hanja', '', 'Hangul_Hanja') keyboard.x11_keycode.133 : ('Multi_key', 'Multi_key', 'Multi_key', 'Multi_key') keyboard.x11_keycode.134 : ('Super_R', '', 'Super_R') keyboard.x11_keycode.135 : ('Menu', '', 'Menu') keyboard.x11_keycode.136 : ('Cancel', '', 'Cancel') keyboard.x11_keycode.137 : ('Redo', '', 'Redo') keyboard.x11_keycode.138 : ('SunProps', '', 'SunProps') keyboard.x11_keycode.139 : ('Undo', '', 'Undo') keyboard.x11_keycode.14 : ('5', 'percent', '5', 'percent') keyboard.x11_keycode.140 : ('SunFront', '', 'SunFront') keyboard.x11_keycode.141 : ('XF86Copy', '', 'XF86Copy') keyboard.x11_keycode.142 : ('XF86Open', '', 'XF86Open') keyboard.x11_keycode.143 : ('XF86Paste', '', 'XF86Paste') keyboard.x11_keycode.144 : ('Find', '', 'Find') keyboard.x11_keycode.145 : ('XF86Cut', '', 'XF86Cut') keyboard.x11_keycode.146 : ('Help', '', 'Help') keyboard.x11_keycode.147 : ('XF86MenuKB', '', 'XF86MenuKB') keyboard.x11_keycode.148 : ('XF86Calculator', '', 'XF86Calculator') keyboard.x11_keycode.15 : ('6', 'asciicircum', '6', 'asciicircum') keyboard.x11_keycode.150 : ('XF86Sleep', '', 'XF86Sleep') keyboard.x11_keycode.151 : ('XF86WakeUp', '', 'XF86WakeUp') keyboard.x11_keycode.152 : ('XF86Explorer', '', 'XF86Explorer') keyboard.x11_keycode.153 : ('XF86Send', '', 'XF86Send') keyboard.x11_keycode.155 : ('XF86Xfer', '', 'XF86Xfer') keyboard.x11_keycode.156 : ('XF86Launch1', '', 'XF86Launch1') keyboard.x11_keycode.157 : ('XF86Launch2', '', 'XF86Launch2') keyboard.x11_keycode.158 : ('XF86WWW', '', 'XF86WWW') keyboard.x11_keycode.159 : ('XF86DOS', '', 'XF86DOS') keyboard.x11_keycode.16 : ('7', 'ampersand', '7', 'ampersand') keyboard.x11_keycode.160 : ('XF86ScreenSaver', '', 'XF86ScreenSaver') keyboard.x11_keycode.162 : ('XF86RotateWindows', '', 'XF86RotateWindows') keyboard.x11_keycode.163 : ('XF86Mail', '', 'XF86Mail') keyboard.x11_keycode.164 : ('XF86Favorites', '', 'XF86Favorites') keyboard.x11_keycode.165 : ('XF86MyComputer', '', 'XF86MyComputer') keyboard.x11_keycode.166 : ('XF86Back', '', 'XF86Back') keyboard.x11_keycode.167 : ('XF86Forward', '', 'XF86Forward') keyboard.x11_keycode.169 : ('XF86Eject', '', 'XF86Eject') keyboard.x11_keycode.17 : ('8', 'asterisk', '8', 'asterisk') keyboard.x11_keycode.170 : ('XF86Eject', 'XF86Eject', 'XF86Eject', 'XF86Eject') keyboard.x11_keycode.171 : ('XF86AudioNext', '', 'XF86AudioNext') keyboard.x11_keycode.172 : ('XF86AudioPlay', 'XF86AudioPause', 'XF86AudioPlay', 'XF86AudioPause') keyboard.x11_keycode.173 : ('XF86AudioPrev', '', 'XF86AudioPrev') keyboard.x11_keycode.174 : ('XF86AudioStop', 'XF86Eject', 'XF86AudioStop', 'XF86Eject') keyboard.x11_keycode.175 : ('XF86AudioRecord', '', 'XF86AudioRecord') keyboard.x11_keycode.176 : ('XF86AudioRewind', '', 'XF86AudioRewind') keyboard.x11_keycode.177 : ('XF86Phone', '', 'XF86Phone') keyboard.x11_keycode.179 : ('XF86Tools', '', 'XF86Tools') keyboard.x11_keycode.18 : ('9', 'parenleft', '9', 'parenleft') keyboard.x11_keycode.180 : ('XF86HomePage', '', 'XF86HomePage') keyboard.x11_keycode.181 : ('XF86Reload', '', 'XF86Reload') keyboard.x11_keycode.182 : ('XF86Close', '', 'XF86Close') keyboard.x11_keycode.185 : ('XF86ScrollUp', '', 'XF86ScrollUp') keyboard.x11_keycode.186 : ('XF86ScrollDown', '', 'XF86ScrollDown') keyboard.x11_keycode.187 : ('parenleft', '', 'parenleft') keyboard.x11_keycode.188 : ('parenright', '', 'parenright') keyboard.x11_keycode.189 : ('XF86New', '', 'XF86New') keyboard.x11_keycode.19 : ('0', 'parenright', '0', 'parenright') keyboard.x11_keycode.190 : ('Redo', '', 'Redo') keyboard.x11_keycode.191 : ('XF86Tools', '', 'XF86Tools') keyboard.x11_keycode.192 : ('XF86Launch5', '', 'XF86Launch5') keyboard.x11_keycode.193 : ('XF86Launch6', '', 'XF86Launch6') keyboard.x11_keycode.194 : ('XF86Launch7', '', 'XF86Launch7') keyboard.x11_keycode.195 : ('XF86Launch8', '', 'XF86Launch8') keyboard.x11_keycode.196 : ('XF86Launch9', '', 'XF86Launch9') keyboard.x11_keycode.198 : ('XF86AudioMicMute', '', 'XF86AudioMicMute') keyboard.x11_keycode.199 : ('XF86TouchpadToggle', '', 'XF86TouchpadToggle') keyboard.x11_keycode.20 : ('minus', 'underscore', 'minus', 'underscore') keyboard.x11_keycode.200 : ('XF86TouchpadOn', '', 'XF86TouchpadOn') keyboard.x11_keycode.201 : ('XF86TouchpadOff', '', 'XF86TouchpadOff') keyboard.x11_keycode.203 : ('Mode_switch', '', 'Mode_switch') keyboard.x11_keycode.204 : ('', 'Alt_L', '', 'Alt_L') keyboard.x11_keycode.205 : ('', 'Meta_L', '', 'Meta_L') keyboard.x11_keycode.206 : ('', 'Super_L', '', 'Super_L') keyboard.x11_keycode.207 : ('', 'Hyper_L', '', 'Hyper_L') keyboard.x11_keycode.208 : ('XF86AudioPlay', '', 'XF86AudioPlay') keyboard.x11_keycode.209 : ('XF86AudioPause', '', 'XF86AudioPause') keyboard.x11_keycode.21 : ('equal', 'plus', 'equal', 'plus') keyboard.x11_keycode.210 : ('XF86Launch3', '', 'XF86Launch3') keyboard.x11_keycode.211 : ('XF86Launch4', '', 'XF86Launch4') keyboard.x11_keycode.212 : ('XF86LaunchB', '', 'XF86LaunchB') keyboard.x11_keycode.213 : ('XF86Suspend', '', 'XF86Suspend') keyboard.x11_keycode.214 : ('XF86Close', '', 'XF86Close') keyboard.x11_keycode.215 : ('XF86AudioPlay', '', 'XF86AudioPlay') keyboard.x11_keycode.216 : ('XF86AudioForward', '', 'XF86AudioForward') keyboard.x11_keycode.218 : ('Print', '', 'Print') keyboard.x11_keycode.22 : ('BackSpace', 'BackSpace', 'BackSpace', 'BackSpace', '', '', 'Terminate_Server') keyboard.x11_keycode.220 : ('XF86WebCam', '', 'XF86WebCam') keyboard.x11_keycode.223 : ('XF86Mail', '', 'XF86Mail') keyboard.x11_keycode.224 : ('XF86Messenger', '', 'XF86Messenger') keyboard.x11_keycode.225 : ('XF86Search', '', 'XF86Search') keyboard.x11_keycode.226 : ('XF86Go', '', 'XF86Go') keyboard.x11_keycode.227 : ('XF86Finance', '', 'XF86Finance') keyboard.x11_keycode.228 : ('XF86Game', '', 'XF86Game') keyboard.x11_keycode.229 : ('XF86Shop', '', 'XF86Shop') keyboard.x11_keycode.23 : ('Tab', 'ISO_Left_Tab', 'Tab', 'ISO_Left_Tab') keyboard.x11_keycode.231 : ('Cancel', '', 'Cancel') keyboard.x11_keycode.232 : ('XF86MonBrightnessDown', '', 'XF86MonBrightnessDown') keyboard.x11_keycode.233 : ('XF86MonBrightnessUp', '', 'XF86MonBrightnessUp') keyboard.x11_keycode.234 : ('XF86AudioMedia', '', 'XF86AudioMedia') keyboard.x11_keycode.235 : ('XF86Display', '', 'XF86Display') keyboard.x11_keycode.236 : ('XF86KbdLightOnOff', '', 'XF86KbdLightOnOff') keyboard.x11_keycode.237 : ('XF86KbdBrightnessDown', '', 'XF86KbdBrightnessDown') keyboard.x11_keycode.238 : ('XF86KbdBrightnessUp', '', 'XF86KbdBrightnessUp') keyboard.x11_keycode.239 : ('XF86Send', '', 'XF86Send') keyboard.x11_keycode.24 : ('q', 'Q', 'q', 'Q') keyboard.x11_keycode.240 : ('XF86Reply', '', 'XF86Reply') keyboard.x11_keycode.241 : ('XF86MailForward', '', 'XF86MailForward') keyboard.x11_keycode.242 : ('XF86Save', '', 'XF86Save') keyboard.x11_keycode.243 : ('XF86Documents', '', 'XF86Documents') keyboard.x11_keycode.244 : ('XF86Battery', '', 'XF86Battery') keyboard.x11_keycode.245 : ('XF86Bluetooth', '', 'XF86Bluetooth') keyboard.x11_keycode.246 : ('XF86WLAN', '', 'XF86WLAN') keyboard.x11_keycode.25 : ('w', 'W', 'w', 'W') keyboard.x11_keycode.26 : ('e', 'E', 'e', 'E') keyboard.x11_keycode.27 : ('r', 'R', 'r', 'R') keyboard.x11_keycode.28 : ('t', 'T', 't', 'T') keyboard.x11_keycode.29 : ('y', 'Y', 'y', 'Y') keyboard.x11_keycode.30 : ('u', 'U', 'u', 'U') keyboard.x11_keycode.31 : ('i', 'I', 'i', 'I') keyboard.x11_keycode.32 : ('o', 'O', 'o', 'O') keyboard.x11_keycode.33 : ('p', 'P', 'p', 'P') keyboard.x11_keycode.34 : ('bracketleft', 'braceleft', 'bracketleft', 'braceleft') keyboard.x11_keycode.35 : ('bracketright', 'braceright', 'bracketright', 'braceright') keyboard.x11_keycode.36 : ('Return', '', 'Return') keyboard.x11_keycode.37 : ('Control_L', '', 'Control_L') keyboard.x11_keycode.38 : ('a', 'A', 'a', 'A') keyboard.x11_keycode.39 : ('s', 'S', 's', 'S') keyboard.x11_keycode.40 : ('d', 'D', 'd', 'D') keyboard.x11_keycode.41 : ('f', 'F', 'f', 'F') keyboard.x11_keycode.42 : ('g', 'G', 'g', 'G') keyboard.x11_keycode.43 : ('h', 'H', 'h', 'H') keyboard.x11_keycode.44 : ('j', 'J', 'j', 'J') keyboard.x11_keycode.45 : ('k', 'K', 'k', 'K') keyboard.x11_keycode.46 : ('l', 'L', 'l', 'L') keyboard.x11_keycode.47 : ('semicolon', 'colon', 'semicolon', 'colon') keyboard.x11_keycode.48 : ('apostrophe', 'quotedbl', 'apostrophe', 'quotedbl') keyboard.x11_keycode.49 : ('grave', 'asciitilde', 'grave', 'asciitilde') keyboard.x11_keycode.50 : ('Shift_L', '', 'Shift_L') keyboard.x11_keycode.51 : ('backslash', 'bar', 'backslash', 'bar') keyboard.x11_keycode.52 : ('z', 'Z', 'z', 'Z') keyboard.x11_keycode.53 : ('x', 'X', 'x', 'X') keyboard.x11_keycode.54 : ('c', 'C', 'c', 'C') keyboard.x11_keycode.55 : ('v', 'V', 'v', 'V') keyboard.x11_keycode.56 : ('b', 'B', 'b', 'B') keyboard.x11_keycode.57 : ('n', 'N', 'n', 'N') keyboard.x11_keycode.58 : ('m', 'M', 'm', 'M') keyboard.x11_keycode.59 : ('comma', 'less', 'comma', 'less') keyboard.x11_keycode.60 : ('period', 'greater', 'period', 'greater') keyboard.x11_keycode.61 : ('slash', 'question', 'slash', 'question') keyboard.x11_keycode.62 : ('Shift_R', '', 'Shift_R') keyboard.x11_keycode.63 : ('KP_Multiply', 'KP_Multiply', 'KP_Multiply', 'KP_Multiply', 'KP_Multiply', 'KP_Multiply', 'XF86ClearGrab') keyboard.x11_keycode.64 : ('Alt_L', 'Meta_L', 'Alt_L', 'Meta_L') keyboard.x11_keycode.65 : ('space', '', 'space') keyboard.x11_keycode.66 : ('Caps_Lock', '', 'Caps_Lock') keyboard.x11_keycode.67 : ('F1', 'F1', 'F1', 'F1', 'F1', 'F1', 'XF86Switch_VT_1') keyboard.x11_keycode.68 : ('F2', 'F2', 'F2', 'F2', 'F2', 'F2', 'XF86Switch_VT_2') keyboard.x11_keycode.69 : ('F3', 'F3', 'F3', 'F3', 'F3', 'F3', 'XF86Switch_VT_3') keyboard.x11_keycode.70 : ('F4', 'F4', 'F4', 'F4', 'F4', 'F4', 'XF86Switch_VT_4') keyboard.x11_keycode.71 : ('F5', 'F5', 'F5', 'F5', 'F5', 'F5', 'XF86Switch_VT_5') keyboard.x11_keycode.72 : ('F6', 'F6', 'F6', 'F6', 'F6', 'F6', 'XF86Switch_VT_6') keyboard.x11_keycode.73 : ('F7', 'F7', 'F7', 'F7', 'F7', 'F7', 'XF86Switch_VT_7') keyboard.x11_keycode.74 : ('F8', 'F8', 'F8', 'F8', 'F8', 'F8', 'XF86Switch_VT_8') keyboard.x11_keycode.75 : ('F9', 'F9', 'F9', 'F9', 'F9', 'F9', 'XF86Switch_VT_9') keyboard.x11_keycode.76 : ('F10', 'F10', 'F10', 'F10', 'F10', 'F10', 'XF86Switch_VT_10') keyboard.x11_keycode.77 : ('Num_Lock', '', 'Num_Lock') keyboard.x11_keycode.78 : ('Scroll_Lock', '', 'Scroll_Lock') keyboard.x11_keycode.79 : ('KP_Home', 'KP_7', 'KP_Home', 'KP_7') keyboard.x11_keycode.80 : ('KP_Up', 'KP_8', 'KP_Up', 'KP_8') keyboard.x11_keycode.81 : ('KP_Prior', 'KP_9', 'KP_Prior', 'KP_9') keyboard.x11_keycode.82 : ('KP_Subtract', 'KP_Subtract', 'KP_Subtract', 'KP_Subtract', 'KP_Subtract', 'KP_Subtract', 'XF86Prev_VMode') keyboard.x11_keycode.83 : ('KP_Left', 'KP_4', 'KP_Left', 'KP_4') keyboard.x11_keycode.84 : ('KP_Begin', 'KP_5', 'KP_Begin', 'KP_5') keyboard.x11_keycode.85 : ('KP_Right', 'KP_6', 'KP_Right', 'KP_6') keyboard.x11_keycode.86 : ('KP_Add', 'KP_Add', 'KP_Add', 'KP_Add', 'KP_Add', 'KP_Add', 'XF86Next_VMode') keyboard.x11_keycode.87 : ('KP_End', 'KP_1', 'KP_End', 'KP_1') keyboard.x11_keycode.88 : ('KP_Down', 'KP_2', 'KP_Down', 'KP_2') keyboard.x11_keycode.89 : ('KP_Next', 'KP_3', 'KP_Next', 'KP_3') keyboard.x11_keycode.9 : ('Escape', '', 'Escape') keyboard.x11_keycode.90 : ('KP_Insert', 'KP_0', 'KP_Insert', 'KP_0') keyboard.x11_keycode.91 : ('KP_Delete', 'KP_Decimal', 'KP_Delete', 'KP_Decimal') keyboard.x11_keycode.92 : ('ISO_Level3_Shift', '', 'ISO_Level3_Shift') keyboard.x11_keycode.94 : ('less', 'greater', 'less', 'greater', 'bar', 'brokenbar', 'bar') keyboard.x11_keycode.95 : ('F11', 'F11', 'F11', 'F11', 'F11', 'F11', 'XF86Switch_VT_11') keyboard.x11_keycode.96 : ('F12', 'F12', 'F12', 'F12', 'F12', 'F12', 'XF86Switch_VT_12') keyboard.x11_keycode.98 : ('Katakana', '', 'Katakana') keyboard.x11_keycode.99 : ('Hiragana', '', 'Hiragana') network.bencode : True network.bencode.version : ('Cython', 0, 11) network.chunked_compression : True network.compressors : ('zlib', 'lzo') network.digest : ('hmac', 'xor') network.encoders : ('bencode', 'rencode', 'yaml') network.lz4 : False network.lzo : True network.lzo.version : 2.06 network.mmap : True network.pycrypto : True network.pycrypto.fastmath : True network.pycrypto.version : 2.6.1 network.raw_packets : True network.rencode : True network.rencode.version : ('Cython', 1, 0, 2) network.yaml : True network.yaml.version : 3.10 network.zlib : True network.zlib.version : 1.0 server.XShm : True server.authenticator : server.build.bit : 64bit server.build.by : buildbot server.build.compiler : gcc-4.8.real (Ubuntu 4.8.2-19ubuntu1) 4.8.2 server.build.cpu : x86_64 server.build.cython : 0.21 server.build.date : 2015-06-02 server.build.linker : GNU ld (GNU Binutils for Ubuntu) 2.24 server.build.local_modifications : 0 server.build.on : winswitch.org server.build.python : (2, 7, 6) server.build.revision : 9569 server.build.time : 09:30 server.build.version : 0.14.25 server.byteorder : little server.cairo.version : 1.8.8 server.display : :1 server.fakeXinerama : False server.gdk.version : 2.24.0 server.gid : 1000 server.glib.version : (2, 40, 2) server.gobject.version : (2, 28, 6) server.gtk.version : (2, 24, 23) server.hostname : reorx server.libfakeXinerama : server.max_desktop_size : (8192, 4096) server.mode : server server.pango.version : 1.36.3 server.pid : 28551 server.platform : linux2 server.platform.linux_distribution : ('Ubuntu', '14.04', 'trusty') server.platform.machine : x86_64 server.platform.name : Linux server.platform.platform : Linux-3.13.0-53-generic-x86_64-with-Ubuntu-14.04-trusty server.platform.processor : x86_64 server.platform.release : 3.13.0-53-generic server.pygtk.version : (2, 24, 0) server.python.full_version : 2.7.6 (default, Mar 22 2014, 22:59:56) \n[GCC 4.8.2] server.python.version : 2.7.6 server.randr.options : ((8192, 4096), (5120, 3200), (3840, 2880), (3840, 2560), (3840, 2048), (2560, 1600), (2048, 2048), (2048, 1536), (1920, 1440), (1920, 1200), (1920, 1080), (1856, 1392), (1792, 1344), (1680, 1050), (1600, 1200), (1600, 900), (1440, 900), (1400, 1050), (1360, 768), (1280, 1024), (1280, 960), (1280, 800), (1280, 762), (1280, 720), (1280, 682), (1152, 864), (1024, 768), (1024, 730), (1024, 600), (1024, 562), (960, 720), (960, 536), (960, 498), (928, 696), (896, 672), (848, 480), (848, 442), (840, 525), (832, 624), (800, 1280), (800, 1242), (800, 600), (800, 562), (800, 480), (768, 1024), (768, 986), (720, 1280), (720, 1242), (720, 450), (720, 400), (700, 525), (680, 384), (640, 512), (640, 480), (640, 400), (640, 350), (600, 1024), (600, 986), (600, 800), (600, 762), (576, 432), (536, 960), (536, 922), (512, 384), (480, 854), (480, 810), (480, 800), (480, 762), (416, 312), (400, 300), (360, 200), (320, 240), (320, 200), (320, 175)) server.root_window_size : (3840, 2048) server.start_time : 1433253523 server.type : Python/gtk/x11 server.uid : 1000 state.modifiers : () threads.0 : MainThread threads.1 : Worker_Thread threads.2 : encode threads.count : 3 threads.info.count : 4 threads.info[0] : write threads.info[1] : read threads.info[2] : parse threads.info[3] : format threads.memory.children.idrss : 0 threads.memory.children.inblock : 0 threads.memory.children.isrss : 0 threads.memory.children.ixrss : 0 threads.memory.children.majflt : 0 threads.memory.children.maxrss : 38556 threads.memory.children.minflt : 9586 threads.memory.children.msgrcv : 0 threads.memory.children.msgsnd : 0 threads.memory.children.nivcsw : 298 threads.memory.children.nsignals : 0 threads.memory.children.nswap : 0 threads.memory.children.nvcsw : 48 threads.memory.children.oublock : 16 threads.memory.children.stime : 0 threads.memory.children.utime : 0 threads.memory.server.idrss : 0 threads.memory.server.inblock : 0 threads.memory.server.isrss : 0 threads.memory.server.ixrss : 0 threads.memory.server.majflt : 0 threads.memory.server.maxrss : 59068 threads.memory.server.minflt : 21983 threads.memory.server.msgrcv : 0 threads.memory.server.msgsnd : 0 threads.memory.server.nivcsw : 2439 threads.memory.server.nsignals : 0 threads.memory.server.nswap : 0 threads.memory.server.nvcsw : 1661 threads.memory.server.oublock : 32 threads.memory.server.stime : 0 threads.memory.server.utime : 0 window-manager-name : Xpra window[1].batch.actual_delay.90p : 36 window[1].batch.actual_delay.avg : 14 window[1].batch.actual_delay.cur : 0 window[1].batch.actual_delay.max : 50 window[1].batch.actual_delay.min : 0 window[1].batch.client-decode-speed : (38, 22) window[1].batch.client-decode-speed.avg : 31 window[1].batch.client-decode-speed.recent : 36 window[1].batch.client-latency : (54, 10) window[1].batch.client-latency.aim : 800 window[1].batch.client-latency.aimed_avg : 292 window[1].batch.client-latency.avg : 3 window[1].batch.client-latency.div : 1000 window[1].batch.client-latency.recent : 2 window[1].batch.client-latency.smoothing : sqrt window[1].batch.client-latency.target : 7 window[1].batch.client-latency.weight_multiplier : 152 window[1].batch.client-ping-latency : (63, 4) window[1].batch.client-ping-latency.aim : 949 window[1].batch.client-ping-latency.aimed_avg : 398 window[1].batch.client-ping-latency.avg : 3 window[1].batch.client-ping-latency.div : 1000 window[1].batch.client-ping-latency.recent : 3 window[1].batch.client-ping-latency.smoothing : sqrt window[1].batch.client-ping-latency.target : 7 window[1].batch.client-ping-latency.weight_multiplier : 72 window[1].batch.compression-work-queue : (0, 0) window[1].batch.compression-work-queue.aim : 250 window[1].batch.compression-work-queue.aimed_avg : 0 window[1].batch.compression-work-queue.avg : 0 window[1].batch.compression-work-queue.div : 1000 window[1].batch.compression-work-queue.recent : 0 window[1].batch.compression-work-queue.smoothing : logp window[1].batch.compression-work-queue.target : 1000 window[1].batch.compression-work-queue.weight_multiplier : 0 window[1].batch.damage-network-delay : (34, 5) window[1].batch.damage-network-delay.avg : 1 window[1].batch.damage-network-delay.recent : 1 window[1].batch.damage-packet-queue-pixels : (0, 0) window[1].batch.damage-packet-queue-pixels.aim : 250 window[1].batch.damage-packet-queue-pixels.aimed_avg : 0 window[1].batch.damage-packet-queue-pixels.avg : 0 window[1].batch.damage-packet-queue-pixels.div : 441600000 window[1].batch.damage-packet-queue-pixels.recent : 0 window[1].batch.damage-packet-queue-pixels.smoothing : sqrt window[1].batch.damage-packet-queue-pixels.target : 1000 window[1].batch.damage-packet-queue-pixels.weight_multiplier : 0 window[1].batch.damage-rate : (51, 69) window[1].batch.damage-rate.elapsed : 688 window[1].batch.damage-rate.max_latency : 100 window[1].batch.delay.50p : 3 window[1].batch.delay.80p : 36 window[1].batch.delay.90p : 36 window[1].batch.delay.avg : 14 window[1].batch.delay.cur : 0 window[1].batch.delay.max : 50 window[1].batch.delay.min : 0 window[1].batch.focus : (100, 0) window[1].batch.focus.has_focus : False window[1].batch.fullscreen : (0, 0) window[1].batch.fullscreen.other_is_fullscreen : False window[1].batch.locked : False window[1].batch.max-delay : 500 window[1].batch.maximized : (0, 0) window[1].batch.maximized.other_is_maximized : False window[1].batch.min-delay : 5 window[1].batch.override-redirect : (100, 0) window[1].batch.override-redirect.is_OR : False window[1].batch.packet-queue-pixels : (0, 0) window[1].batch.packet-queue-pixels.aim : 250 window[1].batch.packet-queue-pixels.aimed_avg : 0 window[1].batch.packet-queue-pixels.avg : 0 window[1].batch.packet-queue-pixels.div : 441600000 window[1].batch.packet-queue-pixels.recent : 0 window[1].batch.packet-queue-pixels.smoothing : sqrt window[1].batch.packet-queue-pixels.target : 1000 window[1].batch.packet-queue-pixels.weight_multiplier : 0 window[1].batch.packet-queue-size : (0, 0) window[1].batch.packet-queue-size.aim : 250 window[1].batch.packet-queue-size.aimed_avg : 0 window[1].batch.packet-queue-size.avg : 0 window[1].batch.packet-queue-size.div : 1000 window[1].batch.packet-queue-size.recent : 0 window[1].batch.packet-queue-size.smoothing : sqrt window[1].batch.packet-queue-size.target : 1000 window[1].batch.packet-queue-size.weight_multiplier : 0 window[1].batch.server-ping-latency : (62, 4) window[1].batch.server-ping-latency.aim : 949 window[1].batch.server-ping-latency.aimed_avg : 389 window[1].batch.server-ping-latency.avg : 3 window[1].batch.server-ping-latency.div : 1000 window[1].batch.server-ping-latency.recent : 3 window[1].batch.server-ping-latency.smoothing : sqrt window[1].batch.server-ping-latency.target : 7 window[1].batch.server-ping-latency.weight_multiplier : 65 window[1].batch.soft-expired : (0, 0) window[1].batch.soft-expired.count : 0 window[1].batch.timeout-delay : 15000 window[1].damage.events : 12 window[1].damage.in_latency.90p : 8 window[1].damage.in_latency.avg : 4 window[1].damage.in_latency.cur : 0 window[1].damage.in_latency.max : 32 window[1].damage.in_latency.min : 0 window[1].damage.out_latency.90p : 9 window[1].damage.out_latency.avg : 5 window[1].damage.out_latency.cur : 1 window[1].damage.out_latency.max : 33 window[1].damage.out_latency.min : 1 window[1].damage.packets_sent : 11 window[1].dimensions : (575, 768) window[1].encoding : png window[1].encoding.full-frames-only : False window[1].encoding.last_used : png window[1].encoding.lossless_threshold.base : 80 window[1].encoding.lossless_threshold.pixel_boost : 20 window[1].encoding.mmap : False window[1].encoding.pixels_encoded_per_second : 12095560 window[1].encoding.pixels_encoded_per_second[png] : 12095560 window[1].encoding.pixels_per_ns.avg : 82 window[1].encoding.pixels_per_ns.max : 18000 window[1].encoding.pixels_per_ns.min : 70 window[1].encoding.pixels_per_ns[png].avg : 82 window[1].encoding.pixels_per_ns[png].max : 18000 window[1].encoding.pixels_per_ns[png].min : 70 window[1].encoding.ratio_pct.avg : 1 window[1].encoding.ratio_pct.max : 67 window[1].encoding.ratio_pct.min : 0 window[1].encoding.ratio_pct[png].avg : 1 window[1].encoding.ratio_pct[png].max : 67 window[1].encoding.ratio_pct[png].min : 0 window[1].encoding.rgb_threshold : 5120 window[1].encoding.selection : get_strict_encoding window[1].encoding.speed.50p : 31 window[1].encoding.speed.80p : 47 window[1].encoding.speed.90p : 73 window[1].encoding.speed.avg : 39 window[1].encoding.speed.cur : 28 window[1].encoding.speed.damage_latency.abs_factor : 0 window[1].encoding.speed.damage_latency.avg : 2 window[1].encoding.speed.damage_latency.ref : 35 window[1].encoding.speed.damage_latency.rel_factor : 1 window[1].encoding.speed.damage_latency.target : 35 window[1].encoding.speed.decoding_latency.factor : 23 window[1].encoding.speed.decoding_latency.target : 8000000 window[1].encoding.speed.frame_delay : 0 window[1].encoding.speed.low_limit : 441600 window[1].encoding.speed.max : 73 window[1].encoding.speed.min : 28 window[1].encoding.speed.min_speed : 0 window[1].encoding.supports-transparency : True window[1].encodings : ('vp8', 'png', 'png/P', 'png/L', 'webp', 'rgb', 'jpeg', 'vp9') window[1].encodings.auto-refresh : ('webp', 'jpeg', 'rgb24', 'png', 'rgb32') window[1].encodings.core : ('vp8', 'png', 'png/P', 'png/L', 'webp', 'rgb24', 'jpeg', 'vp9', 'rgb32', 'rgb') window[1].encodings.edge : rgb24 window[1].encodings.non-video : ('png', 'png/P', 'png/L', 'webp', 'rgb24', 'rgb32', 'jpeg') window[1].encodings.rgb_formats : ('YUV420P', 'YUV422P', 'YUV444P', 'GBRP', 'BGRA', 'BGRX', 'RGBA', 'RGBX', 'RGB', 'BGR') window[1].property.fullscreen : False window[1].property.min_quality : 30 window[1].property.min_speed : 0 window[1].property.quality : 0 window[1].property.scaling : (1, 1) window[1].property.speed : 0 window[1].scaling : (1, 1) window[1].suspended : False window[1].total_frames[png] : 11 window[1].total_pixels[png] : 569148 windows : 1 On Tue, Jun 2, 2015 at 9:39 AM Douglas Doole wrote: > I just upgraded my xpra server to 0.15.0 and restarted xpra. Now when I > open up text windows (konsole, gvim) the font is so small that it's > illegible. (The client is running 0.15.0, but I didn't see this problem > with the 0.15.0 client and 0.14.25 server. It was only after the server > upgrade that the problem appeared.) > > I'm guessing that the DPI information is messed up. Is this a bug, or had > I simply been getting away with a bad setting? If it's a bad setting, what > am I missing? > From antoine at nagafix.co.uk Tue Jun 2 15:14:20 2015 From: antoine at nagafix.co.uk (Antoine Martin) Date: Tue, 02 Jun 2015 21:14:20 +0700 Subject: [winswitch] Tiny fonts with xpra 0.15.0 In-Reply-To: References: Message-ID: <556DBA3C.5030509@nagafix.co.uk> On 02/06/15 21:04, Douglas Doole wrote: > Oops, I lied ;-) > > The problem isn't in the 0.15.0 server. I just downgraded my server to > 0.14.25 and the problem is still present. That makes more sense. > So it must have something to do > with the different monitor at home vs. work. At home I'm just using my > laptop's native display but at work I have an external monitor that I > attach. Please include the server and client log output. And maybe also the info you get from running xrandr in a terminal. If this problem persists, it is probably best to follow it up in a ticket. Cheers Antoine From dougdoole at gmail.com Tue Jun 2 15:24:45 2015 From: dougdoole at gmail.com (Douglas Doole) Date: Tue, 02 Jun 2015 14:24:45 +0000 Subject: [winswitch] Tiny fonts with xpra 0.15.0 In-Reply-To: <556DBA3C.5030509@nagafix.co.uk> References: <556DBA3C.5030509@nagafix.co.uk> Message-ID: Sure. I'll gather that. In the meantime, I found that "xpra attach --dpi=96 ..." works around the problem. On Tue, Jun 2, 2015 at 10:14 AM Antoine Martin wrote: > On 02/06/15 21:04, Douglas Doole wrote: > > Oops, I lied ;-) > > > > The problem isn't in the 0.15.0 server. I just downgraded my server to > > 0.14.25 and the problem is still present. > That makes more sense. > > So it must have something to do > > with the different monitor at home vs. work. At home I'm just using my > > laptop's native display but at work I have an external monitor that I > > attach. > Please include the server and client log output. > And maybe also the info you get from running xrandr in a terminal. > If this problem persists, it is probably best to follow it up in a ticket. > > Cheers > Antoine > _______________________________________________ > shifter-users mailing list > shifter-users at lists.devloop.org.uk > http://lists.devloop.org.uk/mailman/listinfo/shifter-users > From dougdoole at gmail.com Tue Jun 2 15:45:49 2015 From: dougdoole at gmail.com (Douglas Doole) Date: Tue, 02 Jun 2015 14:45:49 +0000 Subject: [winswitch] Tiny fonts with xpra 0.15.0 In-Reply-To: References: <556DBA3C.5030509@nagafix.co.uk> Message-ID: I opened ticket 882 with the requested information attached. On Tue, Jun 2, 2015 at 10:24 AM Douglas Doole wrote: > Sure. I'll gather that. > > In the meantime, I found that "xpra attach --dpi=96 ..." works around the > problem. > > On Tue, Jun 2, 2015 at 10:14 AM Antoine Martin > wrote: > >> On 02/06/15 21:04, Douglas Doole wrote: >> > Oops, I lied ;-) >> > >> > The problem isn't in the 0.15.0 server. I just downgraded my server to >> > 0.14.25 and the problem is still present. >> That makes more sense. >> > So it must have something to do >> > with the different monitor at home vs. work. At home I'm just using my >> > laptop's native display but at work I have an external monitor that I >> > attach. >> Please include the server and client log output. >> And maybe also the info you get from running xrandr in a terminal. >> If this problem persists, it is probably best to follow it up in a ticket. >> >> Cheers >> Antoine >> _______________________________________________ >> shifter-users mailing list >> shifter-users at lists.devloop.org.uk >> http://lists.devloop.org.uk/mailman/listinfo/shifter-users >> > From antoine at nagafix.co.uk Tue Jun 2 20:01:55 2015 From: antoine at nagafix.co.uk (Antoine Martin) Date: Wed, 03 Jun 2015 02:01:55 +0700 Subject: [winswitch] bug: xpra 0.15.0 for Debian has wrong paths in /etc/xpra/xpra.conf In-Reply-To: <556D88E0.3090705@nagafix.co.uk> References: <556D84B9.9030002@nagafix.co.uk> <556D88E0.3090705@nagafix.co.uk> Message-ID: <556DFDA3.1050308@nagafix.co.uk> On 02/06/15 17:43, Antoine Martin wrote: > On 02/06/15 17:26, Antoine Martin wrote: >> On 02/06/15 17:18, Dennis Schridde wrote: >>> Hello! >>> >>> The xpra 0.15.0 package for Debian has wrong paths in >>> /etc/xpra/xpra.conf. >> Which version of Debian are you running? (I should have been able to guess since there are no 0.15 packages for Wheezy..) >>> It sets: >>> xvfb=/usr/bin/Xorg -noreset -nolisten tcp +extension GLX +extension >>> RANDR +extension RENDER -logfile ${HOME}/.xpra/Xorg.${DISPLAY}.log >>> -config /tags/v0.15.x/src/debian/tmp/etc/xpra/xorg.conf >>> >>> Correct would be: >>> xvfb=Xorg -noreset -nolisten tcp +extension GLX +extension RANDR >>> +extension RENDER -logfile ${HOME}/.xpra/Xorg.${DISPLAY}.log -config >>> /etc/xpra/xorg.conf >> How would that be more correct? >> We try very hard to make sure that we use the correct Xorg binary, >> not a wrapper or script. (of which there are many!) >> The build figured out that this file was the right one to use. Is it >> not? > Oh, never mind - just figured it out. You are talking about the etc > file at the end and not the Xorg binary... > Looking at it now. There are new 0.15.0-2 packages in the repositories for Debian Jessie and also for Ubuntu Vivid (solving a similar vfb build issue). (skipping rant about the never ending joys of packaging) Thanks for reporting the problem! Cheers Antoine From basd1 at fastbk.com Tue Jun 2 21:35:08 2015 From: basd1 at fastbk.com (basd) Date: Tue, 02 Jun 2015 13:35:08 -0700 Subject: [winswitch] xpra-0.15.0 dependency issues In-Reply-To: <556D84B9.9030002@nagafix.co.uk> References: <556D84B9.9030002@nagafix.co.uk> Message-ID: <556E137C.5080004@fastbk.com> I have these dependency issues after building xpra-0.15.0 rpm: typelib(GdkGLExt) typelib(GtkGLExt) rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(PayloadIsLzma) <= 4.4.6-1 If my research is correct, the rpmlib issues can't be corrected because it is an rpm version problem. I have not been able to find any type of resource for the two typelib dependencies. Can't find an rpm, not a src, not a deb file. Where might I locate? I installed "broken" just to get a list of the dependencies and then checked all of them, since as you know, "rpm in xpra*" will stop at the first missing dependency rather than list all that might be missing. Daltrey From daltrey at daltrey.org Wed Jun 3 15:55:52 2015 From: daltrey at daltrey.org (daltrey) Date: Wed, 03 Jun 2015 07:55:52 -0700 Subject: [winswitch] xpra build error In-Reply-To: <556D4525.4060605@nagafix.co.uk> References: <55245084.5020205@fastbk.com> <730571777.3436624.1432630431342.JavaMail.yahoo@mail.yahoo.com> <5564518B.5090902@nagafix.co.uk> <5564B4D2.8040605@fastbk.com> <5564E2DB.2080202@fastbk.com> <5569E1CB.7020801@fastbk.com> <556C0511.4040401@nagafix.co.uk> <556CD3F2.6020808@fastbk.com> <556D4525.4060605@nagafix.co.uk> Message-ID: <556F1578.3080003@daltrey.org> Actually, even with the ffmpeg installed, I still get the crashes. Does not happen every time, but I am not certain what is the difference. Here is the last sequence: 1. reboot computer. 2. start winswitch 3. start application "Caligra KDE help" in Xpra via winswitch menu. (This was just a random selection.) 4. Close Caligra help window by clicking x in corner. 5. An xpra icon remains in tray -- not sure what these are, but I routinely have one xpra session in tray that does not seem to be related to any actual session. 6. Close Winswitch Result: black screen, blinking cursor, computer unresponsive except to (which drops to runlevel 3 and reboots computer). Setup: Lenovo Yoga2 Pro x86_64, quad density screen, intel i7 OpenSuSE 13.2 + Linux 4.0.x kernel KDE4.14 winswitch-0.12.21 xpra-0.15.0 (rpms for both built on same machine that is crashing). This does not happen on my other computer, running rpms built from the same spec files, setup as follows: HP AMD x86_64 desktop OpenSuSE 13.1 (linux kernel 3.16.x I think, whichever is standard for openSuSE 13.1) KDE4.14 winswitch-0.12.21 xpra-0.15.0 (opSU 13.1 rpms built on this machine) On 06/01/2015 10:54 PM, Antoine Martin wrote: > On 02/06/15 04:51, basd wrote: >> Installed fmpeg and ffmpeg-devel so the rpmbuild and install work now. >> >> Plus, exits from Winswitch/Xpra are not crashing my server anymore. > My best guess is that until you installed ffmpeg, you were using other fallback modules for image > processing: either our own cython csc module, the pyopencl one, or maybe the vpx encoder. > One of those may contain a corruption bug which would cause crashes. > If so, you should be able to reproduce the problem by selecting which video encoders and csc > modules are activated, ie: > xpra start --video-encoders=vpx --csc-modules=opencl > Please try to reproduce it: the fact that the problem is no longer occurring does not mean that > the bug is gone, it is simply not triggered. And it may trigger later... From basd1 at fastbk.com Wed Jun 3 16:16:08 2015 From: basd1 at fastbk.com (basd) Date: Wed, 03 Jun 2015 08:16:08 -0700 Subject: [winswitch] xpra - fun with windows In-Reply-To: <556D4525.4060605@nagafix.co.uk> References: <55245084.5020205@fastbk.com> <730571777.3436624.1432630431342.JavaMail.yahoo@mail.yahoo.com> <5564518B.5090902@nagafix.co.uk> <5564B4D2.8040605@fastbk.com> <5564E2DB.2080202@fastbk.com> <5569E1CB.7020801@fastbk.com> <556C0511.4040401@nagafix.co.uk> <556CD3F2.6020808@fastbk.com> <556D4525.4060605@nagafix.co.uk> Message-ID: <556F1A38.1070505@fastbk.com> >From my Windows computer, I used Winswitch to start a cairo-dock application session via xpra. The result is a Mac-like launcher on a Windows desktop (& the launcher will the launch my server's linux apps.) Extremely cool. Here is a link to my setups, screenshots and some resources: http://www.daltrey.org/faqs/remote/main.php#xpra Below is a further report on the winswitch/xpra crash I am experiencing (I sent it earlier from the wrong email address, so it is stuck in the moderator cue ...) Actually, even with the ffmpeg installed, I still get the crashes. Does not happen every time, but I am not certain what is the difference. Here is the last sequence: 1. reboot computer. 2. start winswitch 3. start application "Caligra KDE help" in Xpra via winswitch menu. (This was just a random selection.) 4. Close Caligra help window by clicking x in corner. 5. An xpra icon remains in tray -- not sure what these are, but I routinely have one xpra session in tray that does not seem to be related to any actual session. 6. Close Winswitch Result: black screen, blinking cursor, computer unresponsive except to (which drops to runlevel 3 and reboots computer). Setup: Lenovo Yoga2 Pro x86_64, quad density screen, intel i7 OpenSuSE 13.2 + Linux 4.0.x kernel KDE4.14 winswitch-0.12.21 xpra-0.15.0 (rpms for both built on same machine that is crashing). This does not happen on my other computer, running rpms built from the same spec files, setup as follows: HP AMD x86_64 desktop OpenSuSE 13.1 (linux kernel 3.16.x I think, whichever is standard for openSuSE 13.1) KDE4.14 winswitch-0.12.21 xpra-0.15.0 (opSU 13.1 rpms built on this machine) On 06/01/2015 10:54 PM, Antoine Martin wrote: > On 02/06/15 04:51, basd wrote: >> Installed fmpeg and ffmpeg-devel so the rpmbuild and install work now. >> >> Plus, exits from Winswitch/Xpra are not crashing my server anymore. > My best guess is that until you installed ffmpeg, you were using other fallback modules for image > processing: either our own cython csc module, the pyopencl one, or maybe the vpx encoder. > One of those may contain a corruption bug which would cause crashes. > If so, you should be able to reproduce the problem by selecting which video encoders and csc > modules are activated, ie: > xpra start --video-encoders=vpx --csc-modules=opencl > Please try to reproduce it: the fact that the problem is no longer occurring does not mean that > the bug is gone, it is simply not triggered. And it may trigger later... From jiang.qian at gmail.com Fri Jun 5 02:52:58 2015 From: jiang.qian at gmail.com (Jiang Qian) Date: Thu, 4 Jun 2015 21:52:58 -0400 Subject: [winswitch] speaker-restart during video play in xpra 0.15 Message-ID: Hi all, After making some minor adjustments to my configuration (clipboard and dpi, chiefly) I am settling happily to xpra 0.15 (both server and client, both on Ubuntu 14.04) They are connected over unencrypted raw tcp stream. I am puzzled by one behavior. I am forwarding sound, using the encoding Wavpak. (--speaker-code=wavepak) When I play an extended video clips, I got a large number of (about 2-3 in row, sometimes) re-starting speaker because of overrun. So far, aside from the fact that the audio is slight out of sync from the video, there seems to be no adverse consequences. I do confess I am puzzled because I thought because xpra 0.15 seperate audio to a separate process, the forwarding would be less prone to network jitters and the like. In addition, I am running over a high quality gigabit network, through which thousands of ping roundtrips return without a single lost packet and a nearly uniform roundtrip time of 0.25ms, so what *are* the network congestions or jitters that affect the sound stream? The video is far from saturating the bandwith, at merely 30-40MB/s when a straight file transfer can approach 80-90MB/s. If there is more debugging I could do, I will be happy to provide more information. Thanks in advance. Regards Jiang From jiang.qian at gmail.com Fri Jun 5 07:26:03 2015 From: jiang.qian at gmail.com (Jiang Qian) Date: Fri, 5 Jun 2015 02:26:03 -0400 Subject: [winswitch] H264 encoder missing? Message-ID: Hi everyone, This must be the dumbest question ever asked on this list, but what do I need to do to enable h264 encoding? I am running xpra 0.15 on both server and client, both running ubuntu 14.04 (server is 64 bit and client is 32 bit). I installed xpra on both client and server from the xpra's official repository: deb: http://xpra.org/ trusty main and I assume all the necessary dependency should be met automatically. But when I do xpra --encoding=help ... the only encoding I have is v8 and webp, various png and rgb. h264 is also missing from the tray menu of GUI. Do I need to install additional packages and configure xpra server and client somehow to use H264 encoding? Thanks in advance for any hints! Regards Jiang From antoine at nagafix.co.uk Fri Jun 5 10:15:20 2015 From: antoine at nagafix.co.uk (Antoine Martin) Date: Fri, 05 Jun 2015 11:15:20 +0200 Subject: [winswitch] speaker-restart during video play in xpra 0.15 In-Reply-To: References: Message-ID: <557168A8.4040305@nagafix.co.uk> On 05/06/15 03:52, Jiang Qian wrote: > Hi all, > > After making some minor adjustments to my configuration (clipboard and > dpi, chiefly) Has anything changed in 0.15 with regards to DPI? I am not aware of changes that should have affected it. > I am settling happily to xpra 0.15 (both server and > client, both on Ubuntu 14.04) They are connected over unencrypted raw > tcp stream. > > I am puzzled by one behavior. I am forwarding sound, using the > encoding Wavpak. (--speaker-code=wavepak) When I play an extended > video clips, I got a large number of (about 2-3 in row, sometimes) > re-starting speaker because of overrun. > > So far, aside from the fact that the audio is slight out of sync from > the video, there seems to be no adverse consequences. overruns are annoying but they should be harmless. FYI: the delay with wavpack is the worst of all the codecs: http://xpra.org/trac/ticket/835#comment:11 > > I do confess I am puzzled because I thought because xpra 0.15 seperate > audio to a separate process, the forwarding would be less prone to > network jitters and the like. That's true, but the problem with sound overruns is not necessarily caused by network jitter. With some codecs (wavpack and flac for example), we are getting the sound data in larger chunks, which makes it much more likely that we hit the buffer limits and get overruns. 0.16 will change the way we handle overruns to try to tune the buffer size without having to restart the whole pipeline. Minimizing this buffer will help in keeping the sound and video in sync. > In addition, I am running over a high quality gigabit network, through > which thousands of ping roundtrips return without a single lost packet > and a nearly uniform roundtrip time of 0.25ms, so what *are* the > network congestions or jitters that affect the sound stream? The video > is far from saturating the bandwith, at merely 30-40MB/s when a > straight file transfer can approach 80-90MB/s. > > If there is more debugging I could do, I will be happy to provide more > information. Until 0.16 is ready for testing, I would suggest not using wavpack, which is just not very well suited for our use case. Stick with mp3, flac or even just wav if you have bandwidth to spare. Cheers Antoine > > Thanks in advance. > Regards > Jiang > _______________________________________________ > shifter-users mailing list > shifter-users at lists.devloop.org.uk > http://lists.devloop.org.uk/mailman/listinfo/shifter-users From antoine at nagafix.co.uk Fri Jun 5 11:12:17 2015 From: antoine at nagafix.co.uk (Antoine Martin) Date: Fri, 05 Jun 2015 12:12:17 +0200 Subject: [winswitch] H264 encoder missing? In-Reply-To: References: Message-ID: <55717601.4040407@nagafix.co.uk> On 05/06/15 08:26, Jiang Qian wrote: > Hi everyone, > > This must be the dumbest question ever asked on this list, but what do > I need to do to enable h264 encoding? Not at all, I should have mentioned this in the more detailed release notes on the subject of "removing legacy code": 0.15 dropped support for the Debian libav fork of ffmpeg, so there is no h264 decoding out of the box any more. > I am running xpra 0.15 on both server and client, both running ubuntu > 14.04 (server is 64 bit and client is 32 bit). I installed xpra on > both client and server from the xpra's official repository: > deb: http://xpra.org/ trusty main > and I assume all the necessary dependency should be met automatically. Yes. > But when I do > xpra --encoding=help ... > the only encoding I have is v8 and webp, various png and rgb. h264 is > also missing from the tray menu of GUI. That's right. FYI: only decoding has been removed, the h264 encoder should still be present since we use x264 library directly, you can verify this with: xpra start --encoding-help > Do I need to install additional packages and configure xpra server and > client somehow to use H264 encoding? No, but you can: * switch to VP9 instead - which has similar characteristics, if not better (and ignore the warnings about it being too slow - it isn't any longer, as long as your server is running 0.15 or later) * upgrade to Ubuntu 14.10, 15.04 or later which support the newer ffmpeg codec and have h264 decoding out of the box * stick to the 0.14.x branch Cheers Antoine > > Thanks in advance for any hints! > Regards > Jiang > _______________________________________________ > shifter-users mailing list > shifter-users at lists.devloop.org.uk > http://lists.devloop.org.uk/mailman/listinfo/shifter-users From antoine at nagafix.co.uk Fri Jun 5 22:24:56 2015 From: antoine at nagafix.co.uk (Antoine Martin) Date: Fri, 05 Jun 2015 23:24:56 +0200 Subject: [winswitch] H264 encoder missing? In-Reply-To: References: <55717601.4040407@nagafix.co.uk> Message-ID: <557213A8.6010808@nagafix.co.uk> On 05/06/15 20:43, Jiang Qian wrote: > Hi Antoine, > > Thanks for this quick clarification! > > I'm glad that there is an open source alternative. However, I do not > have vp9, either. How do I get that? I see that you need libvpx that's > higher than 1.4, whereas 14.04 only have 1.3. Do you know if there's a > repository for it or do I need to compile it? Odd, the build file should enable VP9 with libvpx 1.3 or higher. I'll have to check this. libvpx 1.4 adds only one option we actually use, but it does make a noticeable difference (prevents jerky video). > If I just compile and install it in /usr/loca/lib/, would the xpra > binary from the repository automatically recognize it or do I need to > recompile xpra as well? You would need to recompile it against the new headers. > How big is the difference between vp8 and vp9? I am using it in the > scenario that, contrary to the normal use on gigabit, I log in from > outside LAN, and the downlink is really slow (because it is the uplink > of a residential internet!) at about 1Mb/s and the uplink is about > 8-10Mb/s In that case, VP8 might still be usable and good enough. The lossless refresh code should take care of clearing up the visual artifacts that come with VP8's lossy compression. One of the main benefits of VP9 is the lossless and YUV444 modes, but those use quite a bit more bandwidth. Cheers Antoine PS: please always CC the list. > > Thanks for this clarification! > Jiang > > On Fri, Jun 5, 2015 at 6:12 AM, Antoine Martin wrote: >> On 05/06/15 08:26, Jiang Qian wrote: >>> Hi everyone, >>> >>> This must be the dumbest question ever asked on this list, but what do >>> I need to do to enable h264 encoding? >> Not at all, I should have mentioned this in the more detailed release >> notes on the subject of "removing legacy code": >> 0.15 dropped support for the Debian libav fork of ffmpeg, so there is no >> h264 decoding out of the box any more. >>> I am running xpra 0.15 on both server and client, both running ubuntu >>> 14.04 (server is 64 bit and client is 32 bit). I installed xpra on >>> both client and server from the xpra's official repository: >>> deb: http://xpra.org/ trusty main >>> and I assume all the necessary dependency should be met automatically. >> Yes. >>> But when I do >>> xpra --encoding=help ... >>> the only encoding I have is v8 and webp, various png and rgb. h264 is >>> also missing from the tray menu of GUI. >> That's right. >> FYI: only decoding has been removed, the h264 encoder should still be >> present since we use x264 library directly, you can verify this with: >> xpra start --encoding-help >>> Do I need to install additional packages and configure xpra server and >>> client somehow to use H264 encoding? >> No, but you can: >> * switch to VP9 instead - which has similar characteristics, if not >> better (and ignore the warnings about it being too slow - it isn't any >> longer, as long as your server is running 0.15 or later) >> * upgrade to Ubuntu 14.10, 15.04 or later which support the newer ffmpeg >> codec and have h264 decoding out of the box >> * stick to the 0.14.x branch >> >> Cheers >> Antoine >>> Thanks in advance for any hints! >>> Regards >>> Jiang >>> _______________________________________________ >>> shifter-users mailing list >>> shifter-users at lists.devloop.org.uk >>> http://lists.devloop.org.uk/mailman/listinfo/shifter-users >> >> _______________________________________________ >> shifter-users mailing list >> shifter-users at lists.devloop.org.uk >> http://lists.devloop.org.uk/mailman/listinfo/shifter-users From antoine at nagafix.co.uk Fri Jun 5 22:35:08 2015 From: antoine at nagafix.co.uk (Antoine Martin) Date: Fri, 05 Jun 2015 23:35:08 +0200 Subject: [winswitch] speaker-restart during video play in xpra 0.15 In-Reply-To: References: <557168A8.4040305@nagafix.co.uk> Message-ID: <5572160C.1050608@nagafix.co.uk> On 05/06/15 20:57, Jiang Qian wrote: > On Fri, Jun 5, 2015 at 5:15 AM, Antoine Martin wrote: >> On 05/06/15 03:52, Jiang Qian >> Has anything changed in 0.15 with regards to DPI? >> I am not aware of changes that should have affected it. > DPI is probably my own fault. I have some legacy options, from back in > the days when the full screen didn't work because I was't using > xdummy, and only a manual setting of --dpi=110 on both server and > client seems to fix it. It's unnecessary after shifting to xdummy, but > it didn't cause any harm, until I upgraded to 0.15, when it caused the > widgets in the forwarded windows to be blurry and big. Removing --dpi > option fixed it. Oh, that's odd. I'll have to check that too, setting the DPI to 110 should not cause such problems. >>> I am settling happily to xpra 0.15 (both server and >>> client, both on Ubuntu 14.04) They are connected over unencrypted raw >>> tcp stream. >>> >>> I am puzzled by one behavior. I am forwarding sound, using the >>> encoding Wavpak. (--speaker-code=wavepak) When I play an extended >>> video clips, I got a large number of (about 2-3 in row, sometimes) >>> re-starting speaker because of overrun. >>> >>> So far, aside from the fact that the audio is slight out of sync from >>> the video, there seems to be no adverse consequences. >> overruns are annoying but they should be harmless. >> Until 0.16 is ready for testing, I would suggest not using wavpack, >> which is just not very well suited for our use case. >> Stick with mp3, flac or even just wav if you have bandwidth to spare. >> > Ahh! That's where the confusion comes in! I thought wavpack is the > uncompressed audio! It turns out that I should be using wav all along, > as I have plenty of bandwidth to spare! Thanks for this clarification! > I'll try it out and see how it goes! Be aware that you may also hit similar issues with wavpack, as only mp3 gets widely tested since it is the default. In 0.16, the plan is to get them all synced up with the video, so they will all get more thoroughly tested. > Along with the developer of recoll, a fulltext indexing program I use, > you are the most responsive and helpful software developlers I seek > help with. Thank you for the extremely useful piece of software and > for being so courteous and helpful! Thank you, much appreciated. Antoine PS: always CC the list. > > Regards > Jiang > >> Cheers >> Antoine >>> Thanks in advance. >>> Regards >>> Jiang >>> _______________________________________________ >>> shifter-users mailing list >>> shifter-users at lists.devloop.org.uk >>> http://lists.devloop.org.uk/mailman/listinfo/shifter-users >> >> _______________________________________________ >> shifter-users mailing list >> shifter-users at lists.devloop.org.uk >> http://lists.devloop.org.uk/mailman/listinfo/shifter-users From jiang.qian at gmail.com Thu Jun 11 20:50:31 2015 From: jiang.qian at gmail.com (Jiang Qian) Date: Thu, 11 Jun 2015 15:50:31 -0400 Subject: [winswitch] pulse audio processes on server remain after xpra stop Message-ID: Hi everyone, I'm puzzled whether this behavior is intended or not, so I ask this list rather than file a bug report. When I quite xpra instance on the server by doing first xpra list to find out which display it's running on (e.g. :100) and then do xpra stop :100 the xpra instance stops successfully, as xpra list shows no running instance. But if I do this on the server ps|grep pulse and I found instances of pulse audio stopped by xpra still running. When I start a new instance of xpra server, a new instance of pulse audio start. If I kill the old pulse audio, the sound on the new xpra instance is not affected. This happens both on 0.14 branch and 0.15 branch. I'm running both server and client on ubuntu 14.04 Jiang From ronald.sterckx at gmail.com Fri Jun 12 08:08:11 2015 From: ronald.sterckx at gmail.com (Ronald Sterckx) Date: Fri, 12 Jun 2015 09:08:11 +0200 Subject: [winswitch] Not able to connect to a started xpra Message-ID: <557A855B.9040208@gmail.com> Hi, I try to start xpra on display 10 by issuing > $ xpra start :10 > Entering daemon mode; any further errors will be reported to: > /home/INTRA/ronalds/.xpra/:10.log When I check the logfile I get the following: > 2015-06-12 09:03:54,188 failed to load the mdns avahi publisher: No > module named avahi > 2015-06-12 09:03:54,188 either fix your installation or use the > '--no-mdns' flag > Xlib: extension "RANDR" missing on display ":10". > Xlib: extension "RANDR" missing on display ":10". > 2015-06-12 09:03:54,426 server uuid is e31019ebfdef443ea893e6eb75dbfc97 > 2015-06-12 09:03:54,513 Printer forwarding cannot be enabled, the PPD > file '/usr/share/cups/model/CUPS-PDF.ppd' is missing > 2015-06-12 09:03:54,545 pulseaudio server started with pid 2749 > 2015-06-12 09:03:54,550 using notification forwarder: > DBUSNotificationsForwarder(org.freedesktop.Notifications) > 2015-06-12 09:03:54,552 xpra server version 0.15.0 (r9584) > 2015-06-12 09:03:54,552 running with pid 2735 > E: [pulseaudio] pid.c: Daemon already running. > 2015-06-12 09:03:54,589 Warning: pulseaudio has terminated shortly > after startup. > 2015-06-12 09:03:54,589 Either fix the pulseaudio command line or use > the 'pulseaudio=no' option to avoid this warning. > 2015-06-12 09:03:54,590 usually, only a single pulseaudio instance > can be running for each user account, and one may be running already > Traceback (most recent call last): > File > "/usr/lib/python2.7/dist-packages/xpra/server/gtk_server_base.py", > line 61, in add_listen_socket > sock.listen(5) > File "/usr/lib/python2.7/socket.py", line 228, in meth > return getattr(self._sock,name)(*args) > socket.error: [Errno 22] Invalid argument > 2015-06-12 09:03:54,590 xpra is ready. > 2015-06-12 09:03:54,653 video encoder 'nvenc4' could not be loaded: > 2015-06-12 09:03:54,653 No module named pycuda Using stop I get: > $ xpra stop :10 > xpra initialization error: connection failed: [Errno 111] Connection > refused Attaching produces the same issue. Is there something more I can check to figure out this issue? I'm running on Ubuntu virvid using xpra 0.15.0-2. Regards, Ronald From ronald.sterckx at gmail.com Fri Jun 12 13:02:33 2015 From: ronald.sterckx at gmail.com (Ronald Sterckx) Date: Fri, 12 Jun 2015 14:02:33 +0200 Subject: [winswitch] Not able to connect to a started xpra In-Reply-To: <557A855B.9040208@gmail.com> References: <557A855B.9040208@gmail.com> Message-ID: <557ACA59.9050007@gmail.com> Hi, I try to start xpra on display 10 by issuing > $ xpra start :10 > Entering daemon mode; any further errors will be reported to: > /home/INTRA/ronalds/.xpra/:10.log When I check the logfile I get the following: > 2015-06-12 09:03:54,188 failed to load the mdns avahi publisher: No > module named avahi > 2015-06-12 09:03:54,188 either fix your installation or use the > '--no-mdns' flag > Xlib: extension "RANDR" missing on display ":10". > Xlib: extension "RANDR" missing on display ":10". > 2015-06-12 09:03:54,426 server uuid is e31019ebfdef443ea893e6eb75dbfc97 > 2015-06-12 09:03:54,513 Printer forwarding cannot be enabled, the PPD > file '/usr/share/cups/model/CUPS-PDF.ppd' is missing > 2015-06-12 09:03:54,545 pulseaudio server started with pid 2749 > 2015-06-12 09:03:54,550 using notification forwarder: > DBUSNotificationsForwarder(org.freedesktop.Notifications) > 2015-06-12 09:03:54,552 xpra server version 0.15.0 (r9584) > 2015-06-12 09:03:54,552 running with pid 2735 > E: [pulseaudio] pid.c: Daemon already running. > 2015-06-12 09:03:54,589 Warning: pulseaudio has terminated shortly > after startup. > 2015-06-12 09:03:54,589 Either fix the pulseaudio command line or use > the 'pulseaudio=no' option to avoid this warning. > 2015-06-12 09:03:54,590 usually, only a single pulseaudio instance > can be running for each user account, and one may be running already > Traceback (most recent call last): > File > "/usr/lib/python2.7/dist-packages/xpra/server/gtk_server_base.py", > line 61, in add_listen_socket > sock.listen(5) > File "/usr/lib/python2.7/socket.py", line 228, in meth > return getattr(self._sock,name)(*args) > socket.error: [Errno 22] Invalid argument > 2015-06-12 09:03:54,590 xpra is ready. > 2015-06-12 09:03:54,653 video encoder 'nvenc4' could not be loaded: > 2015-06-12 09:03:54,653 No module named pycuda Using stop I get: > $ xpra stop :10 > xpra initialization error: connection failed: [Errno 111] Connection > refused Attaching produces the same issue. Is there something more I can check to figure out this issue? I'm running on Ubuntu virvid using xpra 0.15.0-2. Regards, Ronald From antoine at nagafix.co.uk Fri Jun 12 13:26:42 2015 From: antoine at nagafix.co.uk (Antoine Martin) Date: Fri, 12 Jun 2015 14:26:42 +0200 Subject: [winswitch] Not able to connect to a started xpra In-Reply-To: <557A855B.9040208@gmail.com> References: <557A855B.9040208@gmail.com> Message-ID: <557AD002.9050107@nagafix.co.uk> On 12/06/15 09:08, Ronald Sterckx wrote: > Hi, > > I try to start xpra on display 10 by issuing > >> $ xpra start :10 >> Entering daemon mode; any further errors will be reported to: >> /home/INTRA/ronalds/.xpra/:10.log > (snip) >> Traceback (most recent call last): >> File >> "/usr/lib/python2.7/dist-packages/xpra/server/gtk_server_base.py", >> line 61, in add_listen_socket >> sock.listen(5) >> File "/usr/lib/python2.7/socket.py", line 228, in meth >> return getattr(self._sock,name)(*args) >> socket.error: [Errno 22] Invalid argument That's a very odd looking error you've got there. I am unable to reproduce this on Ubuntu Vivid, or any other distro for that matter. Is your home directory on NFS or something? If that's the case, you should be using the "--socket-dir=DIR" option to place the xpra sockets outside $HOME. Cheers Antoine From antoine at nagafix.co.uk Fri Jun 12 14:24:37 2015 From: antoine at nagafix.co.uk (Antoine Martin) Date: Fri, 12 Jun 2015 15:24:37 +0200 Subject: [winswitch] pulse audio processes on server remain after xpra stop In-Reply-To: References: Message-ID: <557ADD95.308@nagafix.co.uk> On 11/06/15 21:50, Jiang Qian wrote: > Hi everyone, > I'm puzzled whether this behavior is intended or not, so I ask this > list rather than file a bug report. When I quite xpra instance on the > server by doing first > xpra list > to find out which display it's running on (e.g. :100) > and then do > xpra stop :100 > the xpra instance stops successfully, as xpra list shows no running instance. > But if I do this on the server > ps|grep pulse > and I found instances of pulse audio stopped by xpra still running. That would be an Ubuntu bug, I have created a ticket for it: http://xpra.org/trac/ticket/889 > When I start a new instance of xpra server, a new instance of pulse > audio start. If I kill the old pulse audio, the sound on the new xpra > instance is not affected. Just be aware that you can only have a single pulseaudio instance per user unless you start messing with its environment. That's a pulseaudio "feature". > This happens both on 0.14 branch and 0.15 branch. I'm running both > server and client on ubuntu 14.04 I've just tried this with a brand new user and the pulseaudio process did get killed when the server was stopped. But that was on Fedora... In your server log, you should see messages like these right at the end: (..) Shutting down in response to request stopping pulseaudio with pid 19682 xpra is terminating. removing socket /home/xpratest/.xpra/myhostname-20 killing xvfb with pid 19665 You can also see details on the processes started by xpra with: xpra info | grep "^child" And then I tried it on Ubuntu Trusty and found that it restarts a brand new process after we kill the pulseaudio server. So, it's a "feature" that sending a SIGINT does not stop it properly, sigh. Cheers Antoine > > Jiang > _______________________________________________ > shifter-users mailing list > shifter-users at lists.devloop.org.uk > http://lists.devloop.org.uk/mailman/listinfo/shifter-users From jiang.qian at gmail.com Fri Jun 12 21:03:39 2015 From: jiang.qian at gmail.com (Jiang Qian) Date: Fri, 12 Jun 2015 16:03:39 -0400 Subject: [winswitch] pulse audio processes on server remain after xpra stop In-Reply-To: <557ADD95.308@nagafix.co.uk> References: <557ADD95.308@nagafix.co.uk> Message-ID: That's fine. I'll just kill it manually by kill -9. There's no need to fix it then. Thanks for looking into this. My troubles right now is more with the latest update with chrome. See ticket #877. I wonder if anyone else has the issue, or is this another ubuntu problem. Regards Jiang On Fri, Jun 12, 2015 at 9:24 AM, Antoine Martin wrote: > On 11/06/15 21:50, Jiang Qian wrote: >> Hi everyone, >> I'm puzzled whether this behavior is intended or not, so I ask this >> list rather than file a bug report. When I quite xpra instance on the >> server by doing first >> xpra list >> to find out which display it's running on (e.g. :100) >> and then do >> xpra stop :100 >> the xpra instance stops successfully, as xpra list shows no running instance. >> But if I do this on the server >> ps|grep pulse >> and I found instances of pulse audio stopped by xpra still running. > That would be an Ubuntu bug, I have created a ticket for it: > http://xpra.org/trac/ticket/889 >> When I start a new instance of xpra server, a new instance of pulse >> audio start. If I kill the old pulse audio, the sound on the new xpra >> instance is not affected. > Just be aware that you can only have a single pulseaudio instance per > user unless you start messing with its environment. > That's a pulseaudio "feature". >> This happens both on 0.14 branch and 0.15 branch. I'm running both >> server and client on ubuntu 14.04 > I've just tried this with a brand new user and the pulseaudio process > did get killed when the server was stopped. But that was on Fedora... > > In your server log, you should see messages like these right at the end: > (..) > Shutting down in response to request > stopping pulseaudio with pid 19682 > xpra is terminating. > removing socket /home/xpratest/.xpra/myhostname-20 > killing xvfb with pid 19665 > > You can also see details on the processes started by xpra with: > xpra info | grep "^child" > > And then I tried it on Ubuntu Trusty and found that it restarts a brand > new process after we kill the pulseaudio server. > So, it's a "feature" that sending a SIGINT does not stop it properly, sigh. > > Cheers > Antoine >> >> Jiang >> _______________________________________________ >> shifter-users mailing list >> shifter-users at lists.devloop.org.uk >> http://lists.devloop.org.uk/mailman/listinfo/shifter-users > > > _______________________________________________ > shifter-users mailing list > shifter-users at lists.devloop.org.uk > http://lists.devloop.org.uk/mailman/listinfo/shifter-users From antoine at nagafix.co.uk Fri Jun 12 21:22:44 2015 From: antoine at nagafix.co.uk (Antoine Martin) Date: Fri, 12 Jun 2015 22:22:44 +0200 Subject: [winswitch] pulse audio processes on server remain after xpra stop In-Reply-To: References: <557ADD95.308@nagafix.co.uk> Message-ID: <557B3F94.1050907@nagafix.co.uk> On 12/06/15 22:03, Jiang Qian wrote: > That's fine. I'll just kill it manually by kill -9. There's no need to > fix it then. 0.14.26 and 0.15.1 will include the fix for pulseaudio under Ubuntu, I am in the process of testing the packages before the release, so you can find them here already: http://xpra.org/beta/ (though if we can fix your chrome DPI issue quickly, I'll delay the release to include this fix) > Thanks for looking into this. My troubles right now is more with the > latest update with chrome. See ticket #877. You mean #887: http://xpra.org/trac/ticket/887 > I wonder if anyone else has the issue, or is this another ubuntu problem. Chrome is generally problematic (client side decorations in general), though we are working on improving that. Cheers Antoine > Regards > Jiang > > On Fri, Jun 12, 2015 at 9:24 AM, Antoine Martin wrote: >> On 11/06/15 21:50, Jiang Qian wrote: >>> Hi everyone, >>> I'm puzzled whether this behavior is intended or not, so I ask this >>> list rather than file a bug report. When I quite xpra instance on the >>> server by doing first >>> xpra list >>> to find out which display it's running on (e.g. :100) >>> and then do >>> xpra stop :100 >>> the xpra instance stops successfully, as xpra list shows no running instance. >>> But if I do this on the server >>> ps|grep pulse >>> and I found instances of pulse audio stopped by xpra still running. >> That would be an Ubuntu bug, I have created a ticket for it: >> http://xpra.org/trac/ticket/889 >>> When I start a new instance of xpra server, a new instance of pulse >>> audio start. If I kill the old pulse audio, the sound on the new xpra >>> instance is not affected. >> Just be aware that you can only have a single pulseaudio instance per >> user unless you start messing with its environment. >> That's a pulseaudio "feature". >>> This happens both on 0.14 branch and 0.15 branch. I'm running both >>> server and client on ubuntu 14.04 >> I've just tried this with a brand new user and the pulseaudio process >> did get killed when the server was stopped. But that was on Fedora... >> >> In your server log, you should see messages like these right at the end: >> (..) >> Shutting down in response to request >> stopping pulseaudio with pid 19682 >> xpra is terminating. >> removing socket /home/xpratest/.xpra/myhostname-20 >> killing xvfb with pid 19665 >> >> You can also see details on the processes started by xpra with: >> xpra info | grep "^child" >> >> And then I tried it on Ubuntu Trusty and found that it restarts a brand >> new process after we kill the pulseaudio server. >> So, it's a "feature" that sending a SIGINT does not stop it properly, sigh. >> >> Cheers >> Antoine >>> Jiang >>> _______________________________________________ >>> shifter-users mailing list >>> shifter-users at lists.devloop.org.uk >>> http://lists.devloop.org.uk/mailman/listinfo/shifter-users >> >> _______________________________________________ >> shifter-users mailing list >> shifter-users at lists.devloop.org.uk >> http://lists.devloop.org.uk/mailman/listinfo/shifter-users From ant.starikov at gmail.com Thu Jun 18 12:52:56 2015 From: ant.starikov at gmail.com (Anton Starikov) Date: Thu, 18 Jun 2015 13:52:56 +0200 Subject: [winswitch] MS Windows Xpra/WindowSwitch binaries for non-administrator Message-ID: Hi, Are there Xpra/WindowSwitch binaries for MS Windows, which can be used by user without administrator rights? Default installers can't be installed without administrative privileges, although, at least for client, there is totally no need for admin rights. Unpacking binaries from the installer isn't an options, as it is not recognized by archivers as archive. Alternatively, can somebody with Windows make a ZIP with installed Xpra/WindowSwitch? (this host for which I don't have admin rights is the only Windows host I have access to, although I can do whole story of installing VM in VBox.... but it will take some time). Thank you, Anton. From antoine at nagafix.co.uk Thu Jun 18 13:11:59 2015 From: antoine at nagafix.co.uk (Antoine Martin) Date: Thu, 18 Jun 2015 14:11:59 +0200 Subject: [winswitch] MS Windows Xpra/WindowSwitch binaries for non-administrator In-Reply-To: References: Message-ID: <5582B58F.4040807@nagafix.co.uk> On 18/06/15 13:52, Anton Starikov wrote: > Hi, > > Are there Xpra/WindowSwitch binaries for MS Windows, which can be used by > user without administrator rights? > Default installers can't be installed without administrative privileges, > although, at least for client, there is totally no need for admin rights. > > Unpacking binaries from the installer isn't an options, as it is not > recognized by archivers as archive. > > Alternatively, can somebody with Windows make a ZIP with installed > Xpra/WindowSwitch? (this host for which I don't have admin rights is the > only Windows host I have access to, although I can do whole story of > installing VM in VBox.... but it will take some time). Here you go: http://xpra.org/dists/windows/WinSwitch.zip Cheers Antoine > > Thank you, > Anton. > _______________________________________________ > shifter-users mailing list > shifter-users at lists.devloop.org.uk > http://lists.devloop.org.uk/mailman/listinfo/shifter-users From ant.starikov at gmail.com Thu Jun 18 16:41:32 2015 From: ant.starikov at gmail.com (Anton Starikov) Date: Thu, 18 Jun 2015 17:41:32 +0200 Subject: [winswitch] MS Windows Xpra/WindowSwitch binaries for non-administrator In-Reply-To: <5582B58F.4040807@nagafix.co.uk> References: <5582B58F.4040807@nagafix.co.uk> Message-ID: Antoine, Thank you very much. It works like a charm! Anton. On 18 June 2015 at 14:11, Antoine Martin wrote: > On 18/06/15 13:52, Anton Starikov wrote: > > Hi, > > > > Are there Xpra/WindowSwitch binaries for MS Windows, which can be used by > > user without administrator rights? > > Default installers can't be installed without administrative privileges, > > although, at least for client, there is totally no need for admin rights. > > > > Unpacking binaries from the installer isn't an options, as it is not > > recognized by archivers as archive. > > > > Alternatively, can somebody with Windows make a ZIP with installed > > Xpra/WindowSwitch? (this host for which I don't have admin rights is the > > only Windows host I have access to, although I can do whole story of > > installing VM in VBox.... but it will take some time). > Here you go: > http://xpra.org/dists/windows/WinSwitch.zip > > Cheers > Antoine > > > > > > Thank you, > > Anton. > > _______________________________________________ > > shifter-users mailing list > > shifter-users at lists.devloop.org.uk > > http://lists.devloop.org.uk/mailman/listinfo/shifter-users > > > _______________________________________________ > shifter-users mailing list > shifter-users at lists.devloop.org.uk > http://lists.devloop.org.uk/mailman/listinfo/shifter-users > From antoine at nagafix.co.uk Thu Jun 18 21:25:19 2015 From: antoine at nagafix.co.uk (Antoine Martin) Date: Thu, 18 Jun 2015 22:25:19 +0200 Subject: [winswitch] [ANNOUNCE] [LTS] xpra 0.14.26 (minor fixes) Message-ID: <5583292F.3090900@nagafix.co.uk> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi, This update fixes a few minor bugs, including the Ubuntu pulseaudio restart issue reported recently. Most of the other bugs are quite minor and ancient. There is no urgency to update if you were not affected. 0.14.26 release notes: * fix executable-not-elf-or-script warning in html5 client tree * fix displayfd Xorg version check: require version 1.13 * fix GUI debug script on OSX * fix typo in list of supported X11 atoms * fix exit-with-children: support sharing mode * fix pulseaudio not killed on exit on Ubuntu * fix signal leak when client disconnects * blacklist Ubuntu Vivid, which broke Xdummy, again * don't reject clients providing a password when none is expected The source: https://xpra.org/src/ Binaries/repositories: https://winswitch.org/downloads/ Direct binary downloads: https://xpra.org/dists/ Beta: https://xpra.org/beta/ Cheers Antoine -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iEYEARECAAYFAlWDKS8ACgkQGK2zHPGK1rtI7QCfZ7I2ezPAFphy9XGhxjmqqVqc a9kAniFg02iu+c0o5aPUa7yBHWaLhESI =KVEQ -----END PGP SIGNATURE----- From antoine at nagafix.co.uk Thu Jun 18 21:25:31 2015 From: antoine at nagafix.co.uk (Antoine Martin) Date: Thu, 18 Jun 2015 22:25:31 +0200 Subject: [winswitch] [ANNOUNCE] xpra 0.15.1 (minor fixes) Message-ID: <5583293B.1030808@nagafix.co.uk> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi, This update fixes many of the same bugs found in 0.14.26. It also raises the clipboard requests per second limit that some of you seem to hit more often with the 0.15.x branch. The only noticeable regression that this release fixes is the missing transparency (Linux clients only). 0.15.1 release notes: * fix window transparency * fix displayfd Xorg version check: require version 1.13 * fix GUI debug script on OSX * fix typo in list of supported X11 atoms * fix exit-with-children: support sharing mode * fix html option for client only builds * fix pulseaudio not killed on exit on Ubuntu * fix signal leak when client disconnects * include shared mime info file mapping * blacklist Ubuntu Vivid, which broke Xdummy, again * don't reject clients providing a password when none is expected * raise maximum clipboard requests per second to 20 * remove old VP9 performance warnings The source: https://xpra.org/src/ Binaries/repositories: https://winswitch.org/downloads/ Direct binary downloads: https://xpra.org/dists/ Beta: https://xpra.org/beta/ Cheers Antoine -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iEYEARECAAYFAlWDKTsACgkQGK2zHPGK1rtw9QCfbsvIneKvdedxIQJ9RRmylE9W 6hIAn2t+fg1ExSw2oMD7LlPWYe+PODve =pOOz -----END PGP SIGNATURE----- From johnss1221 at gmail.com Fri Jun 19 11:31:37 2015 From: johnss1221 at gmail.com (John Smith) Date: Fri, 19 Jun 2015 17:31:37 +0700 Subject: [winswitch] Google chrome can't resize Message-ID: Hi, I'm running xpra 0.15.0 r9556 release version for both server(trusty) and client(MS Windows 7 64bit). I have some problems with it. 1. I found that Firefox, xterm can resize but the Chrome can not. 2. If use encode=rgb, compression=lz4, and : a. Play the Firefox ( not maximize), everything is great and fast. b. Play the Firefox ( maximize), it seems slower than (a) and a bit lag. The resolution of my client is 1366x768 Except those problems, I feel the new version is faster than 0.14.x. It's so good. Thank you, John From antoine at nagafix.co.uk Fri Jun 19 14:40:41 2015 From: antoine at nagafix.co.uk (Antoine Martin) Date: Fri, 19 Jun 2015 15:40:41 +0200 Subject: [winswitch] Google chrome can't resize In-Reply-To: References: Message-ID: <55841BD9.2010005@nagafix.co.uk> On 19/06/15 12:31, John Smith wrote: > Hi, > > I'm running xpra 0.15.0 r9556 release version for both server(trusty) and > client(MS Windows 7 64bit). > > I have some problems with it. > 1. I found that Firefox, xterm can resize but the Chrome can not. That's a known issue with non-X11 clients: 0.15 now supports _NET_WM_MOVERESIZE: http://standards.freedesktop.org/wm-spec/wm-spec-latest.html#idm140200472659776 Which chrome uses to trigger a move or resize. This works fine for X11 clients which generally support the feature (most window managers do nowadays), but this needs to be worked around for OSX and win32: http://xpra.org/trac/ticket/772 I am hoping to have this implemented in time for 0.16 At this point you may question why we don't turn off the feature if the client does not support it... and the answer is that we cannot: this property is read by the application when it starts, which may well be before the client has connected... I may still add a environment variable to turn this off globally, applications like chrome should then revert to client-side managed move and resize. (and the window will then get its double title bar back..) > 2. If use encode=rgb, compression=lz4, and : > a. Play the Firefox ( not maximize), everything is great and fast. > b. Play the Firefox ( maximize), it seems slower than (a) and a bit lag. > The resolution of my client is 1366x768 What do you mean by "Play the Firefox"? Play a video? Scroll a page? The logic which adjusts compression quality, speed and the auto-refresh delay takes into account whether the window is fullscreen / maximized / etc.. It is possible that this has regressed somehow. What exactly "seems slower"? We are currently tracking down a performance regression in 0.15, this could well be it. > Except those problems, I feel the new version is faster than 0.14.x. It's > so good. Excellent! Cheers Antoine > > Thank you, > John > _______________________________________________ > shifter-users mailing list > shifter-users at lists.devloop.org.uk > http://lists.devloop.org.uk/mailman/listinfo/shifter-users From antoine at nagafix.co.uk Fri Jun 19 14:40:41 2015 From: antoine at nagafix.co.uk (Antoine Martin) Date: Fri, 19 Jun 2015 15:40:41 +0200 Subject: [winswitch] Google chrome can't resize In-Reply-To: References: Message-ID: <55841BD9.7070703@nagafix.co.uk> On 19/06/15 12:31, John Smith wrote: > Hi, > > I'm running xpra 0.15.0 r9556 release version for both server(trusty) and > client(MS Windows 7 64bit). > > I have some problems with it. > 1. I found that Firefox, xterm can resize but the Chrome can not. That's a known issue with non-X11 clients: 0.15 now supports _NET_WM_MOVERESIZE: http://standards.freedesktop.org/wm-spec/wm-spec-latest.html#idm140200472659776 Which chrome uses to trigger a move or resize. This works fine for X11 clients which generally support the feature (most window managers do nowadays), but this needs to be worked around for OSX and win32: http://xpra.org/trac/ticket/772 I am hoping to have this implemented in time for 0.16 At this point you may question why we don't turn off the feature if the client does not support it... and the answer is that we cannot: this property is read by the application when it starts, which may well be before the client has connected... I may still add a environment variable to turn this off globally, applications like chrome should then revert to client-side managed move and resize. (and the window will then get its double title bar back..) > 2. If use encode=rgb, compression=lz4, and : > a. Play the Firefox ( not maximize), everything is great and fast. > b. Play the Firefox ( maximize), it seems slower than (a) and a bit lag. > The resolution of my client is 1366x768 What do you mean by "Play the Firefox"? Play a video? Scroll a page? The logic which adjusts compression quality, speed and the auto-refresh delay takes into account whether the window is fullscreen / maximized / etc.. It is possible that this has regressed somehow. What exactly "seems slower"? We are currently tracking down a performance regression in 0.15, this could well be it. > Except those problems, I feel the new version is faster than 0.14.x. It's > so good. Excellent! Cheers Antoine > > Thank you, > John > _______________________________________________ > shifter-users mailing list > shifter-users at lists.devloop.org.uk > http://lists.devloop.org.uk/mailman/listinfo/shifter-users From ronald.sterckx at gmail.com Mon Jun 22 14:19:36 2015 From: ronald.sterckx at gmail.com (Ronald Sterckx) Date: Mon, 22 Jun 2015 15:19:36 +0200 Subject: [winswitch] Not able to connect to a started xpra In-Reply-To: <557AD002.9050107@nagafix.co.uk> References: <557A855B.9040208@gmail.com> <557AD002.9050107@nagafix.co.uk> Message-ID: <55880B68.6000202@gmail.com> Hi, I have Ubuntu vivid. My desktop is connected to an Active Directory, which might be related. I have tried "--socket-dir=/tmp" but that didn't help. "/usr/bin/xpra --daemon=no start :10" seems to work though Ronald On 12/06/15 14:26, Antoine Martin wrote: > On 12/06/15 09:08, Ronald Sterckx wrote: >> Hi, >> >> I try to start xpra on display 10 by issuing >> >>> $ xpra start :10 >>> Entering daemon mode; any further errors will be reported to: >>> /home/INTRA/ronalds/.xpra/:10.log > (snip) >>> Traceback (most recent call last): >>> File >>> "/usr/lib/python2.7/dist-packages/xpra/server/gtk_server_base.py", >>> line 61, in add_listen_socket >>> sock.listen(5) >>> File "/usr/lib/python2.7/socket.py", line 228, in meth >>> return getattr(self._sock,name)(*args) >>> socket.error: [Errno 22] Invalid argument > That's a very odd looking error you've got there. > I am unable to reproduce this on Ubuntu Vivid, or any other distro for > that matter. > > Is your home directory on NFS or something? > If that's the case, you should be using the "--socket-dir=DIR" option to > place the xpra sockets outside $HOME. > > Cheers > Antoine > _______________________________________________ > shifter-users mailing list > shifter-users at lists.devloop.org.uk > http://lists.devloop.org.uk/mailman/listinfo/shifter-users From dougdoole at gmail.com Mon Jun 22 15:54:20 2015 From: dougdoole at gmail.com (Douglas Doole) Date: Mon, 22 Jun 2015 14:54:20 +0000 Subject: [winswitch] Windows not appearing in task manager Message-ID: Since upgrading to xpra 0.15.x (both .0 and .1 have this problem) I've had trouble with windows not appearing in the task manager. (xpra 0.14.x never had this problem.) For example, I'll start one konsole over xpra and it will appear in the task manager. Yet when I start a second konsole it appears on screen, but not in the task manager. Unfortunately I haven't been able to pin down a pattern to which windows appear in the task bar and which ones don't. (Today, the first window I created showed up in the task bar and the rest are not. I do not, however, have consistent good luck with the first window created.) The problem does not seem to be tied to a specific application. (I mostly use konsole and gvim, but I've seen the problem with other applications as well.) As I'm playing with things and writing this note, I see that it's having more trouble than I originally thought. I have now also seen an existing task manager entry disappear as a new window is created. The task manage entry for the new window may or may not be created. My client and server are both running Ubuntu 14.04. My client is using KDE. I have tried starting with client with "-d window" but it didn't report anything. Is there a different debug option I should use? Thanks. From antoine at nagafix.co.uk Mon Jun 22 16:11:44 2015 From: antoine at nagafix.co.uk (Antoine Martin) Date: Mon, 22 Jun 2015 17:11:44 +0200 Subject: [winswitch] Not able to connect to a started xpra In-Reply-To: <55880B68.6000202@gmail.com> References: <557A855B.9040208@gmail.com> <557AD002.9050107@nagafix.co.uk> <55880B68.6000202@gmail.com> Message-ID: <558825B0.8080207@nagafix.co.uk> On 22/06/15 15:19, Ronald Sterckx wrote: > Hi, > > I have Ubuntu vivid. My desktop is connected to an Active Directory, > which might be related. Possible, I can't imagine why unless you use system authentication (auth=sys). > I have tried "--socket-dir=/tmp" but that didn't help. FYI: You need to use this option for both the server and clients. > "/usr/bin/xpra --daemon=no start :10" seems to work though Seems to? Does "xpra info" work? (specifying socket-dir if appropriate) Cheers Antoine > > > Ronald > On 12/06/15 14:26, Antoine Martin wrote: >> On 12/06/15 09:08, Ronald Sterckx wrote: >>> Hi, >>> >>> I try to start xpra on display 10 by issuing >>> >>>> $ xpra start :10 >>>> Entering daemon mode; any further errors will be reported to: >>>> /home/INTRA/ronalds/.xpra/:10.log >> (snip) >>>> Traceback (most recent call last): >>>> File >>>> "/usr/lib/python2.7/dist-packages/xpra/server/gtk_server_base.py", >>>> line 61, in add_listen_socket >>>> sock.listen(5) >>>> File "/usr/lib/python2.7/socket.py", line 228, in meth >>>> return getattr(self._sock,name)(*args) >>>> socket.error: [Errno 22] Invalid argument >> That's a very odd looking error you've got there. >> I am unable to reproduce this on Ubuntu Vivid, or any other distro for >> that matter. >> >> Is your home directory on NFS or something? >> If that's the case, you should be using the "--socket-dir=DIR" option to >> place the xpra sockets outside $HOME. >> >> Cheers >> Antoine >> _______________________________________________ >> shifter-users mailing list >> shifter-users at lists.devloop.org.uk >> http://lists.devloop.org.uk/mailman/listinfo/shifter-users > > _______________________________________________ > shifter-users mailing list > shifter-users at lists.devloop.org.uk > http://lists.devloop.org.uk/mailman/listinfo/shifter-users From antoine at nagafix.co.uk Mon Jun 22 16:24:37 2015 From: antoine at nagafix.co.uk (Antoine Martin) Date: Mon, 22 Jun 2015 17:24:37 +0200 Subject: [winswitch] Windows not appearing in task manager In-Reply-To: References: Message-ID: <558828B5.5060208@nagafix.co.uk> On 22/06/15 16:54, Douglas Doole wrote: > Since upgrading to xpra 0.15.x (both .0 and .1 have this problem) I've had > trouble with windows not appearing in the task manager. (xpra 0.14.x never > had this problem.) FWIW: there is a lot of new code to do with window grouping in the task bar for MS Windows clients, but the code is almost identical to v0.14.x for all the other platforms. Which windows do and don't appear in the task manager, depends on the task manager and various window attributes - most importantly the "window type" and "group-leader", and potentially other attributes (pid, etc). You can view some those properties with something like: $ xpra info | egrep "window-type=|class-instance=|\.title=|transient=" > For example, I'll start one konsole over xpra and it will appear in the > task manager. Yet when I start a second konsole it appears on screen, but > not in the task manager. Some task managers do group applications by type/class or pid. This could be happening here. > Unfortunately I haven't been able to pin down a > pattern to which windows appear in the task bar and which ones don't. > (Today, the first window I created showed up in the task bar and the rest > are not. I do not, however, have consistent good luck with the first window > created.) The problem does not seem to be tied to a specific application. > (I mostly use konsole and gvim, but I've seen the problem with other > applications as well.) This sort of bug should be mostly application agnostic. > As I'm playing with things and writing this note, I see that it's having > more trouble than I originally thought. I have now also seen an existing > task manager entry disappear as a new window is created. The task manage > entry for the new window may or may not be created. This sounds very broken indeed. Can you please file a ticket so we can track this? There are already some platform integration items due for 0.16, like integrating into Unity / Gnome3 / Windows 7 onwards task bar / etc.. > My client and server are both running Ubuntu 14.04. My client is using KDE. > > I have tried starting with client with "-d window" but it didn't report > anything. Is there a different debug option I should use? You can try with "-d client", but this is going to be very verbose and you will need to grep the output for things like "group_leader". Cheers Antoine > > Thanks. > _______________________________________________ > shifter-users mailing list > shifter-users at lists.devloop.org.uk > http://lists.devloop.org.uk/mailman/listinfo/shifter-users From ronald.sterckx at gmail.com Mon Jun 22 16:57:20 2015 From: ronald.sterckx at gmail.com (Ronald Sterckx) Date: Mon, 22 Jun 2015 17:57:20 +0200 Subject: [winswitch] Not able to connect to a started xpra In-Reply-To: <558825B0.8080207@nagafix.co.uk> References: <557A855B.9040208@gmail.com> <557AD002.9050107@nagafix.co.uk> <55880B68.6000202@gmail.com> <558825B0.8080207@nagafix.co.uk> Message-ID: <55883060.2050508@gmail.com> > "/usr/bin/xpra --daemon=no start :10" seems to work though I'll rephrase that. This does work, I can connect in this case. The log is > 2015-06-22 17:46:29,387 failed to load the mdns avahi publisher: No > module named avahi > 2015-06-22 17:46:29,387 either fix your installation or use the > '--no-mdns' flag > Xlib: extension "RANDR" missing on display ":10". > Xlib: extension "RANDR" missing on display ":10". > 2015-06-22 17:46:29,648 server uuid is 02e16d84748a48e9b52bdc02754e98de > 2015-06-22 17:46:29,759 Printer forwarding cannot be enabled, the PPD > file '/usr/share/cups/model/CUPS-PDF.ppd' is missing > 2015-06-22 17:46:29,785 pulseaudio server started with pid 25721 > 2015-06-22 17:46:29,791 using notification forwarder: > DBUSNotificationsForwarder(org.freedesktop.Notifications) > E: [pulseaudio] pid.c: Daemon already running. > 2015-06-22 17:46:29,793 xpra server version 0.15.1 (r9664) > 2015-06-22 17:46:29,793 running with pid 25708 > 2015-06-22 17:46:29,827 Warning: pulseaudio has terminated shortly > after startup. > 2015-06-22 17:46:29,827 Either fix the pulseaudio command line or use > the 'pulseaudio=no' option to avoid this warning. > 2015-06-22 17:46:29,827 usually, only a single pulseaudio instance > can be running for each user account, and one may be running already > 2015-06-22 17:46:29,827 xpra is ready. > 2015-06-22 17:46:29,893 video encoder 'nvenc4' could not be loaded: > 2015-06-22 17:46:29,894 No module named pycuda This does not complain about the socket as it normally does. This is not really a workable solution though. When I use socket-dir the log file still states: > 2015-06-22 17:43:06,230 usually, only a single pulseaudio instance > can be running for each user account, and one may be running already > Traceback (most recent call last): > File > "/usr/lib/python2.7/dist-packages/xpra/server/gtk_server_base.py", > line 61, in add_listen_socket > sock.listen(5) > File "/usr/lib/python2.7/socket.py", line 228, in meth > return getattr(self._sock,name)(*args) > socket.error: [Errno 22] Invalid argument > 2015-06-22 17:43:06,230 xpra is ready. > 2015-06-22 17:43:06,287 video encoder 'nvenc4' could not be loaded: > 2015-06-22 17:43:06,288 No module named pycuda This does complain about the socket and I can't connect. Ronald On 22/06/15 17:11, Antoine Martin wrote: > On 22/06/15 15:19, Ronald Sterckx wrote: >> Hi, >> >> I have Ubuntu vivid. My desktop is connected to an Active Directory, >> which might be related. > Possible, I can't imagine why unless you use system authentication > (auth=sys). >> I have tried "--socket-dir=/tmp" but that didn't help. > FYI: You need to use this option for both the server and clients. >> "/usr/bin/xpra --daemon=no start :10" seems to work though > Seems to? > Does "xpra info" work? (specifying socket-dir if appropriate) > > Cheers > Antoine >> >> Ronald >> On 12/06/15 14:26, Antoine Martin wrote: >>> On 12/06/15 09:08, Ronald Sterckx wrote: >>>> Hi, >>>> >>>> I try to start xpra on display 10 by issuing >>>> >>>>> $ xpra start :10 >>>>> Entering daemon mode; any further errors will be reported to: >>>>> /home/INTRA/ronalds/.xpra/:10.log >>> (snip) >>>>> Traceback (most recent call last): >>>>> File >>>>> "/usr/lib/python2.7/dist-packages/xpra/server/gtk_server_base.py", >>>>> line 61, in add_listen_socket >>>>> sock.listen(5) >>>>> File "/usr/lib/python2.7/socket.py", line 228, in meth >>>>> return getattr(self._sock,name)(*args) >>>>> socket.error: [Errno 22] Invalid argument >>> That's a very odd looking error you've got there. >>> I am unable to reproduce this on Ubuntu Vivid, or any other distro for >>> that matter. >>> >>> Is your home directory on NFS or something? >>> If that's the case, you should be using the "--socket-dir=DIR" option to >>> place the xpra sockets outside $HOME. >>> >>> Cheers >>> Antoine >>> _______________________________________________ >>> shifter-users mailing list >>> shifter-users at lists.devloop.org.uk >>> http://lists.devloop.org.uk/mailman/listinfo/shifter-users >> _______________________________________________ >> shifter-users mailing list >> shifter-users at lists.devloop.org.uk >> http://lists.devloop.org.uk/mailman/listinfo/shifter-users > > _______________________________________________ > shifter-users mailing list > shifter-users at lists.devloop.org.uk > http://lists.devloop.org.uk/mailman/listinfo/shifter-users From antoine at nagafix.co.uk Mon Jun 22 17:58:49 2015 From: antoine at nagafix.co.uk (Antoine Martin) Date: Mon, 22 Jun 2015 18:58:49 +0200 Subject: [winswitch] Not able to connect to a started xpra In-Reply-To: <55883060.2050508@gmail.com> References: <557A855B.9040208@gmail.com> <557AD002.9050107@nagafix.co.uk> <55880B68.6000202@gmail.com> <558825B0.8080207@nagafix.co.uk> <55883060.2050508@gmail.com> Message-ID: <55883EC9.4060708@nagafix.co.uk> On 22/06/15 17:57, Ronald Sterckx wrote: >> "/usr/bin/xpra --daemon=no start :10" seems to work though > I'll rephrase that. This does work, I can connect in this case. The > log is (snip) > This does not complain about the socket as it normally does. This is > not really a workable solution though. Why is it not workable? Does turning daemon on cause the socket errors? > > When I use socket-dir the log file still states: (please include the exact command line used) I'm confused: your original post stated that you were getting those socket errors when not using the socket option. What has changed? >> 2015-06-22 17:43:06,230 usually, only a single pulseaudio instance >> can be running for each user account, and one may be running already >> Traceback (most recent call last): >> File >> "/usr/lib/python2.7/dist-packages/xpra/server/gtk_server_base.py", >> line 61, in add_listen_socket >> sock.listen(5) >> File "/usr/lib/python2.7/socket.py", line 228, in meth >> return getattr(self._sock,name)(*args) >> socket.error: [Errno 22] Invalid argument >> 2015-06-22 17:43:06,230 xpra is ready. >> 2015-06-22 17:43:06,287 video encoder 'nvenc4' could not be loaded: >> 2015-06-22 17:43:06,288 No module named pycuda > This does complain about the socket and I can't connect. You didn't answer the question about $HOME being on nfs or something else. This would help me reproduce the problem. Cheers Antoine > > > Ronald > > On 22/06/15 17:11, Antoine Martin wrote: >> On 22/06/15 15:19, Ronald Sterckx wrote: >>> Hi, >>> >>> I have Ubuntu vivid. My desktop is connected to an Active Directory, >>> which might be related. >> Possible, I can't imagine why unless you use system authentication >> (auth=sys). >>> I have tried "--socket-dir=/tmp" but that didn't help. >> FYI: You need to use this option for both the server and clients. >>> "/usr/bin/xpra --daemon=no start :10" seems to work though >> Seems to? >> Does "xpra info" work? (specifying socket-dir if appropriate) >> >> Cheers >> Antoine >>> >>> Ronald >>> On 12/06/15 14:26, Antoine Martin wrote: >>>> On 12/06/15 09:08, Ronald Sterckx wrote: >>>>> Hi, >>>>> >>>>> I try to start xpra on display 10 by issuing >>>>> >>>>>> $ xpra start :10 >>>>>> Entering daemon mode; any further errors will be reported to: >>>>>> /home/INTRA/ronalds/.xpra/:10.log >>>> (snip) >>>>>> Traceback (most recent call last): >>>>>> File >>>>>> "/usr/lib/python2.7/dist-packages/xpra/server/gtk_server_base.py", >>>>>> line 61, in add_listen_socket >>>>>> sock.listen(5) >>>>>> File "/usr/lib/python2.7/socket.py", line 228, in meth >>>>>> return getattr(self._sock,name)(*args) >>>>>> socket.error: [Errno 22] Invalid argument >>>> That's a very odd looking error you've got there. >>>> I am unable to reproduce this on Ubuntu Vivid, or any other distro for >>>> that matter. >>>> >>>> Is your home directory on NFS or something? >>>> If that's the case, you should be using the "--socket-dir=DIR" >>>> option to >>>> place the xpra sockets outside $HOME. >>>> >>>> Cheers >>>> Antoine >>>> _______________________________________________ >>>> shifter-users mailing list >>>> shifter-users at lists.devloop.org.uk >>>> http://lists.devloop.org.uk/mailman/listinfo/shifter-users >>> _______________________________________________ >>> shifter-users mailing list >>> shifter-users at lists.devloop.org.uk >>> http://lists.devloop.org.uk/mailman/listinfo/shifter-users >> >> _______________________________________________ >> shifter-users mailing list >> shifter-users at lists.devloop.org.uk >> http://lists.devloop.org.uk/mailman/listinfo/shifter-users > > _______________________________________________ > shifter-users mailing list > shifter-users at lists.devloop.org.uk > http://lists.devloop.org.uk/mailman/listinfo/shifter-users From ronald.sterckx at gmail.com Mon Jun 22 19:35:09 2015 From: ronald.sterckx at gmail.com (Ronald Sterckx) Date: Mon, 22 Jun 2015 20:35:09 +0200 Subject: [winswitch] Not able to connect to a started xpra In-Reply-To: <55883EC9.4060708@nagafix.co.uk> References: <557A855B.9040208@gmail.com> <557AD002.9050107@nagafix.co.uk> <55880B68.6000202@gmail.com> <558825B0.8080207@nagafix.co.uk> <55883060.2050508@gmail.com> <55883EC9.4060708@nagafix.co.uk> Message-ID: <5588555D.7080307@gmail.com> > Does turning daemon on cause the socket errors? Yes, at least turning daemon off makes the socket errors disappear. > (please include the exact command line used) > I'm confused: your original post stated that you were getting those > socket errors when not using the socket option. > What has changed? Doing "/usr/bin/xpra --socket-dir=/tmp start :10" or "/usr/bin/xpra start :10" produces the same error in the log file. So socket-dir does not make a difference. (This was your first suggestion) > You didn't answer the question about $HOME being on nfs or something else. > This would help me reproduce the problem. As far as I know, no. However the setup of this machine has not been done by me. I've added some logging on my side. In server_core.py in init_sockets line 235 I added: log("socket name '%s'", sock.getsockname()) when I run with "/usr/bin/xpra --daemon=no start :10 -d all" I receive this line in my logs: 2015-06-22 20:27:01,413 socket name '/tmp/hostname-10' When I run in daemon mode with "/usr/bin/xpra start :10 -d all" I get this in my log file 2015-06-22 20:26:36,346 socket name '' I hope I'm being a bit more clear now. Ronald On 22/06/15 18:58, Antoine Martin wrote: > On 22/06/15 17:57, Ronald Sterckx wrote: >>> "/usr/bin/xpra --daemon=no start :10" seems to work though >> I'll rephrase that. This does work, I can connect in this case. The >> log is > (snip) >> This does not complain about the socket as it normally does. This is >> not really a workable solution though. > Why is it not workable? > Does turning daemon on cause the socket errors? >> When I use socket-dir the log file still states: > (please include the exact command line used) > I'm confused: your original post stated that you were getting those > socket errors when not using the socket option. > What has changed? >>> 2015-06-22 17:43:06,230 usually, only a single pulseaudio instance >>> can be running for each user account, and one may be running already >>> Traceback (most recent call last): >>> File >>> "/usr/lib/python2.7/dist-packages/xpra/server/gtk_server_base.py", >>> line 61, in add_listen_socket >>> sock.listen(5) >>> File "/usr/lib/python2.7/socket.py", line 228, in meth >>> return getattr(self._sock,name)(*args) >>> socket.error: [Errno 22] Invalid argument >>> 2015-06-22 17:43:06,230 xpra is ready. >>> 2015-06-22 17:43:06,287 video encoder 'nvenc4' could not be loaded: >>> 2015-06-22 17:43:06,288 No module named pycuda >> This does complain about the socket and I can't connect. > You didn't answer the question about $HOME being on nfs or something else. > This would help me reproduce the problem. > > Cheers > Antoine >> >> Ronald >> >> On 22/06/15 17:11, Antoine Martin wrote: >>> On 22/06/15 15:19, Ronald Sterckx wrote: >>>> Hi, >>>> >>>> I have Ubuntu vivid. My desktop is connected to an Active Directory, >>>> which might be related. >>> Possible, I can't imagine why unless you use system authentication >>> (auth=sys). >>>> I have tried "--socket-dir=/tmp" but that didn't help. >>> FYI: You need to use this option for both the server and clients. >>>> "/usr/bin/xpra --daemon=no start :10" seems to work though >>> Seems to? >>> Does "xpra info" work? (specifying socket-dir if appropriate) >>> >>> Cheers >>> Antoine >>>> Ronald >>>> On 12/06/15 14:26, Antoine Martin wrote: >>>>> On 12/06/15 09:08, Ronald Sterckx wrote: >>>>>> Hi, >>>>>> >>>>>> I try to start xpra on display 10 by issuing >>>>>> >>>>>>> $ xpra start :10 >>>>>>> Entering daemon mode; any further errors will be reported to: >>>>>>> /home/INTRA/ronalds/.xpra/:10.log >>>>> (snip) >>>>>>> Traceback (most recent call last): >>>>>>> File >>>>>>> "/usr/lib/python2.7/dist-packages/xpra/server/gtk_server_base.py", >>>>>>> line 61, in add_listen_socket >>>>>>> sock.listen(5) >>>>>>> File "/usr/lib/python2.7/socket.py", line 228, in meth >>>>>>> return getattr(self._sock,name)(*args) >>>>>>> socket.error: [Errno 22] Invalid argument >>>>> That's a very odd looking error you've got there. >>>>> I am unable to reproduce this on Ubuntu Vivid, or any other distro for >>>>> that matter. >>>>> >>>>> Is your home directory on NFS or something? >>>>> If that's the case, you should be using the "--socket-dir=DIR" >>>>> option to >>>>> place the xpra sockets outside $HOME. >>>>> >>>>> Cheers >>>>> Antoine >>>>> _______________________________________________ >>>>> shifter-users mailing list >>>>> shifter-users at lists.devloop.org.uk >>>>> http://lists.devloop.org.uk/mailman/listinfo/shifter-users >>>> _______________________________________________ >>>> shifter-users mailing list >>>> shifter-users at lists.devloop.org.uk >>>> http://lists.devloop.org.uk/mailman/listinfo/shifter-users >>> _______________________________________________ >>> shifter-users mailing list >>> shifter-users at lists.devloop.org.uk >>> http://lists.devloop.org.uk/mailman/listinfo/shifter-users >> _______________________________________________ >> shifter-users mailing list >> shifter-users at lists.devloop.org.uk >> http://lists.devloop.org.uk/mailman/listinfo/shifter-users > > _______________________________________________ > shifter-users mailing list > shifter-users at lists.devloop.org.uk > http://lists.devloop.org.uk/mailman/listinfo/shifter-users From antoine at nagafix.co.uk Mon Jun 22 19:57:22 2015 From: antoine at nagafix.co.uk (Antoine Martin) Date: Mon, 22 Jun 2015 20:57:22 +0200 Subject: [winswitch] Not able to connect to a started xpra In-Reply-To: <5588555D.7080307@gmail.com> References: <557A855B.9040208@gmail.com> <557AD002.9050107@nagafix.co.uk> <55880B68.6000202@gmail.com> <558825B0.8080207@nagafix.co.uk> <55883060.2050508@gmail.com> <55883EC9.4060708@nagafix.co.uk> <5588555D.7080307@gmail.com> Message-ID: <55885A92.60905@nagafix.co.uk> On 22/06/15 20:35, Ronald Sterckx wrote: >> Does turning daemon on cause the socket errors? > Yes, at least turning daemon off makes the socket errors disappear. OK, now I understand. >> (please include the exact command line used) >> I'm confused: your original post stated that you were getting those >> socket errors when not using the socket option. >> What has changed? > Doing "/usr/bin/xpra --socket-dir=/tmp start :10" or "/usr/bin/xpra > start :10" produces the same error in the log file. So socket-dir > does not make a difference. (This was your first suggestion) >> You didn't answer the question about $HOME being on nfs or something >> else. >> This would help me reproduce the problem. > As far as I know, no. However the setup of this machine has not been > done by me. OK, I only asked because the user's home in your log sample is "/home/INTRA/ronalds/", which is non-default. And there might be other non-default things at play here since I am not seeing this problem on a plain Ubuntu Vivid install. > I've added some logging on my side. In server_core.py in init_sockets > line 235 I added: > log("socket name '%s'", sock.getsockname()) > > when I run with "/usr/bin/xpra --daemon=no start :10 -d all" I receive > this line in my logs: > 2015-06-22 20:27:01,413 socket name '/tmp/hostname-10' > > When I run in daemon mode with "/usr/bin/xpra start :10 -d all" I get > this in my log file > 2015-06-22 20:26:36,346 socket name '' That's very very odd. The daemon code has not changed in a very long time and I don't really see how it would end up clearing the socket name. I'm really not sure what to suggest next, sorry. > I hope I'm being a bit more clear now. Perfect, thanks! Antoine > > > Ronald > > On 22/06/15 18:58, Antoine Martin wrote: >> On 22/06/15 17:57, Ronald Sterckx wrote: >>>> "/usr/bin/xpra --daemon=no start :10" seems to work though >>> I'll rephrase that. This does work, I can connect in this case. The >>> log is >> (snip) >>> This does not complain about the socket as it normally does. This is >>> not really a workable solution though. >> Why is it not workable? >> Does turning daemon on cause the socket errors? >>> When I use socket-dir the log file still states: >> (please include the exact command line used) >> I'm confused: your original post stated that you were getting those >> socket errors when not using the socket option. >> What has changed? >>>> 2015-06-22 17:43:06,230 usually, only a single pulseaudio instance >>>> can be running for each user account, and one may be running already >>>> Traceback (most recent call last): >>>> File >>>> "/usr/lib/python2.7/dist-packages/xpra/server/gtk_server_base.py", >>>> line 61, in add_listen_socket >>>> sock.listen(5) >>>> File "/usr/lib/python2.7/socket.py", line 228, in meth >>>> return getattr(self._sock,name)(*args) >>>> socket.error: [Errno 22] Invalid argument >>>> 2015-06-22 17:43:06,230 xpra is ready. >>>> 2015-06-22 17:43:06,287 video encoder 'nvenc4' could not be loaded: >>>> 2015-06-22 17:43:06,288 No module named pycuda >>> This does complain about the socket and I can't connect. >> You didn't answer the question about $HOME being on nfs or something >> else. >> This would help me reproduce the problem. >> >> Cheers >> Antoine >>> >>> Ronald >>> >>> On 22/06/15 17:11, Antoine Martin wrote: >>>> On 22/06/15 15:19, Ronald Sterckx wrote: >>>>> Hi, >>>>> >>>>> I have Ubuntu vivid. My desktop is connected to an Active Directory, >>>>> which might be related. >>>> Possible, I can't imagine why unless you use system authentication >>>> (auth=sys). >>>>> I have tried "--socket-dir=/tmp" but that didn't help. >>>> FYI: You need to use this option for both the server and clients. >>>>> "/usr/bin/xpra --daemon=no start :10" seems to work though >>>> Seems to? >>>> Does "xpra info" work? (specifying socket-dir if appropriate) >>>> >>>> Cheers >>>> Antoine >>>>> Ronald >>>>> On 12/06/15 14:26, Antoine Martin wrote: >>>>>> On 12/06/15 09:08, Ronald Sterckx wrote: >>>>>>> Hi, >>>>>>> >>>>>>> I try to start xpra on display 10 by issuing >>>>>>> >>>>>>>> $ xpra start :10 >>>>>>>> Entering daemon mode; any further errors will be reported to: >>>>>>>> /home/INTRA/ronalds/.xpra/:10.log >>>>>> (snip) >>>>>>>> Traceback (most recent call last): >>>>>>>> File >>>>>>>> "/usr/lib/python2.7/dist-packages/xpra/server/gtk_server_base.py", >>>>>>>> line 61, in add_listen_socket >>>>>>>> sock.listen(5) >>>>>>>> File "/usr/lib/python2.7/socket.py", line 228, in meth >>>>>>>> return getattr(self._sock,name)(*args) >>>>>>>> socket.error: [Errno 22] Invalid argument >>>>>> That's a very odd looking error you've got there. >>>>>> I am unable to reproduce this on Ubuntu Vivid, or any other >>>>>> distro for >>>>>> that matter. >>>>>> >>>>>> Is your home directory on NFS or something? >>>>>> If that's the case, you should be using the "--socket-dir=DIR" >>>>>> option to >>>>>> place the xpra sockets outside $HOME. >>>>>> >>>>>> Cheers >>>>>> Antoine >>>>>> _______________________________________________ >>>>>> shifter-users mailing list >>>>>> shifter-users at lists.devloop.org.uk >>>>>> http://lists.devloop.org.uk/mailman/listinfo/shifter-users >>>>> _______________________________________________ >>>>> shifter-users mailing list >>>>> shifter-users at lists.devloop.org.uk >>>>> http://lists.devloop.org.uk/mailman/listinfo/shifter-users >>>> _______________________________________________ >>>> shifter-users mailing list >>>> shifter-users at lists.devloop.org.uk >>>> http://lists.devloop.org.uk/mailman/listinfo/shifter-users >>> _______________________________________________ >>> shifter-users mailing list >>> shifter-users at lists.devloop.org.uk >>> http://lists.devloop.org.uk/mailman/listinfo/shifter-users >> >> _______________________________________________ >> shifter-users mailing list >> shifter-users at lists.devloop.org.uk >> http://lists.devloop.org.uk/mailman/listinfo/shifter-users > > _______________________________________________ > shifter-users mailing list > shifter-users at lists.devloop.org.uk > http://lists.devloop.org.uk/mailman/listinfo/shifter-users From jksiezniak at gmail.com Mon Jun 22 21:47:36 2015 From: jksiezniak at gmail.com (=?UTF-8?B?SmFrdWIgS3NpxJnFvG5pYWs=?=) Date: Mon, 22 Jun 2015 22:47:36 +0200 Subject: [winswitch] [Xpra] Android client In-Reply-To: References: Message-ID: Hello, I've been writing an Android Xpra client for some time now (maybe you remember our previous conversation on a mailing list). It took me quite a lot of time to make a barely working app, but here it is. :) You can download source code from Github and build it by yourself: https://github.com/jksiezni/xpra-client Moreover, I've got some concerns regarding licensing. I'd like to share my code on terms of Apache License 2.0 and I'd like to know if it is OK with you. Also, I've added an Xpra icon to the android project, which makes an app much more recognizable. But it requires your permission, if I'm not mistaken. So, do you agree, to use the Xpra icon in this project? Any feedback would be appreciated. Regards, Jakub Ksi??niak From antoine at nagafix.co.uk Tue Jun 23 09:02:43 2015 From: antoine at nagafix.co.uk (Antoine Martin) Date: Tue, 23 Jun 2015 10:02:43 +0200 Subject: [winswitch] [Xpra] Android client In-Reply-To: References: Message-ID: <558912A3.6000704@nagafix.co.uk> Hi, On 22/06/15 22:47, Jakub Ksi??niak wrote: > Hello, > > I've been writing an Android Xpra client for some time now (maybe you > remember our previous conversation on a mailing list). It took me quite a > lot of time to make a barely working app, but here it is. :) You can > download source code from Github and build it by yourself: > https://github.com/jksiezni/xpra-client Good stuff! I think this should replace the current "official" Android client, which was never more than a quick and dirty proof of concept. > Moreover, I've got some concerns regarding licensing. I'd like to share my > code on terms of Apache License 2.0 and I'd like to know if it is OK with > you. This is not entirely up to me and IANAL. My understanding is that if you've developed your code using a "clean room design", then you can use any license you want for your code. Otherwise, you probably fall under the "derived work" and therefore are bound by the GPL. I did write a lot of information on the wiki to try to make it easier to implement new clients without referring to the actual code (though most of it may be slightly out of date), starting here: http://xpra.org/trac/wiki/NetworkProtocol To make matters more complicated: although I would be quite happy to re-license all of my code under a different license, which would cover 100% of the Java client for example (assuming you read some code and that this is what you used)... but then again, by definition (since I wrote a large portion of the GPL2+ xpra code) not using a "clean room design", I don't think I could re-license it under anything less restrictive than the GPL. And even if this was possible, I'm not sure you could apply it retroactively - but maybe? And it also depends what jurisdiction you fall under... etc. > Also, I've added an Xpra icon to the android project, which makes an app > much more recognizable. But it requires your permission, if I'm not > mistaken. So, do you agree, to use the Xpra icon in this project? No problem from me here... this icon is a bit too close to the official X11 icon, and I should probably have sought permission from them... I just wanted to get something done quickly, many years ago, and did not foresee the project getting as successful as it is now. The project also covers a lot more than just plain-X11 servers now, so this may be a good time to come up with a better icon? (there are also requirements for 1024x1024 to get into the Apple appstore) > Any feedback would be appreciated. I'm hoping others can chime in, hopefully with more experience in this area. Cheers Antoine PS: Some pointers: https://en.wikipedia.org/wiki/Clean_room_design http://hoviblog.blogspot.fr/2008/10/clean-room-defeats-software.html " For purposes of proving such a claim of copyright or trade secret misappropriation, it is not necessary to prove that actual copying occurred. It is sufficient to show that (1) the accused party had access to the code, and (2) the accused party's code is substantially similar to the claimant's code." I have no idea what "substantially similar" means here! > > Regards, > Jakub Ksi??niak > _______________________________________________ > shifter-users mailing list > shifter-users at lists.devloop.org.uk > http://lists.devloop.org.uk/mailman/listinfo/shifter-users From ronald.sterckx at gmail.com Wed Jun 24 11:14:42 2015 From: ronald.sterckx at gmail.com (Ronald Sterckx) Date: Wed, 24 Jun 2015 12:14:42 +0200 Subject: [winswitch] Not able to connect to a started xpra In-Reply-To: <55885A92.60905@nagafix.co.uk> References: <557A855B.9040208@gmail.com> <557AD002.9050107@nagafix.co.uk> <55880B68.6000202@gmail.com> <558825B0.8080207@nagafix.co.uk> <55883060.2050508@gmail.com> <55883EC9.4060708@nagafix.co.uk> <5588555D.7080307@gmail.com> <55885A92.60905@nagafix.co.uk> Message-ID: <558A8312.9030908@gmail.com> Hi, Found it, after putting more logging in noticed the socket name got cleared after " #publish mdns records: " in server.py. So I tried what the log file actually proposed: "2015-06-24 11:42:39,809 either fix your installation or use the '--no-mdns' flag " So in the end adding --no-mdns helps on this machine. It's weird that on my other machine without avahi this does not occur. But I have a good workaround. Ronald On 22/06/15 20:57, Antoine Martin wrote: > On 22/06/15 20:35, Ronald Sterckx wrote: >>> Does turning daemon on cause the socket errors? >> Yes, at least turning daemon off makes the socket errors disappear. > OK, now I understand. >>> (please include the exact command line used) >>> I'm confused: your original post stated that you were getting those >>> socket errors when not using the socket option. >>> What has changed? >> Doing "/usr/bin/xpra --socket-dir=/tmp start :10" or "/usr/bin/xpra >> start :10" produces the same error in the log file. So socket-dir >> does not make a difference. (This was your first suggestion) >>> You didn't answer the question about $HOME being on nfs or something >>> else. >>> This would help me reproduce the problem. >> As far as I know, no. However the setup of this machine has not been >> done by me. > OK, I only asked because the user's home in your log sample is > "/home/INTRA/ronalds/", which is non-default. > And there might be other non-default things at play here since I am not > seeing this problem on a plain Ubuntu Vivid install. >> I've added some logging on my side. In server_core.py in init_sockets >> line 235 I added: >> log("socket name '%s'", sock.getsockname()) >> >> when I run with "/usr/bin/xpra --daemon=no start :10 -d all" I receive >> this line in my logs: >> 2015-06-22 20:27:01,413 socket name '/tmp/hostname-10' >> >> When I run in daemon mode with "/usr/bin/xpra start :10 -d all" I get >> this in my log file >> 2015-06-22 20:26:36,346 socket name '' > That's very very odd. > The daemon code has not changed in a very long time and I don't really > see how it would end up clearing the socket name. > I'm really not sure what to suggest next, sorry. >> I hope I'm being a bit more clear now. > Perfect, thanks! > > Antoine > From jksiezniak at gmail.com Wed Jun 24 13:47:09 2015 From: jksiezniak at gmail.com (=?UTF-8?B?SmFrdWIgS3NpxJnFvG5pYWs=?=) Date: Wed, 24 Jun 2015 14:47:09 +0200 Subject: [winswitch] [Xpra] Android client In-Reply-To: <558912A3.6000704@nagafix.co.uk> References: <558912A3.6000704@nagafix.co.uk> Message-ID: Hi, Thanks for all feedback. I've read a bit about licensing and I came up with some thoughts. 1. To write a fully functional client application, a network protocol must be implemented to communicate with other side. In this case, the only available reference is a source code of Xpra and wiki pages. 2. Unfortunately the documentation found on the wiki is not sufficient, as for example I had to learn from Java sample code what capabilities must be sent in a Hello packet in order to connect to the server. Without it, it's impossible to get a reasonable response, not to mention about other features. 3. If the Xpra protocol was described in some official document like RFC6143 for the RFB protocol, then I could base on it instead of the Xpra sources. To sum up, it appears that my code is a "derived work" and thus the only option is to choose a GPL license. :-( Then, I'll change license information on Github with my next commit. Thanks, Jakub Ksi??niak 23 cze 2015 10:02 "Antoine Martin" napisa?(a): > Hi, > > On 22/06/15 22:47, Jakub Ksi??niak wrote: > > Hello, > > > > I've been writing an Android Xpra client for some time now (maybe you > > remember our previous conversation on a mailing list). It took me quite a > > lot of time to make a barely working app, but here it is. :) You can > > download source code from Github and build it by yourself: > > https://github.com/jksiezni/xpra-client > Good stuff! > I think this should replace the current "official" Android client, which > was never more than a quick and dirty proof of concept. > > Moreover, I've got some concerns regarding licensing. I'd like to share > my > > code on terms of Apache License 2.0 and I'd like to know if it is OK with > > you. > This is not entirely up to me and IANAL. > My understanding is that if you've developed your code using a "clean > room design", then you can use any license you want for your code. > Otherwise, you probably fall under the "derived work" and therefore are > bound by the GPL. > > I did write a lot of information on the wiki to try to make it easier to > implement new clients without referring to the actual code (though most > of it may be slightly out of date), starting here: > http://xpra.org/trac/wiki/NetworkProtocol > > To make matters more complicated: although I would be quite happy to > re-license all of my code under a different license, which would cover > 100% of the Java client for example (assuming you read some code and > that this is what you used)... but then again, by definition (since I > wrote a large portion of the GPL2+ xpra code) not using a "clean room > design", I don't think I could re-license it under anything less > restrictive than the GPL. And even if this was possible, I'm not sure > you could apply it retroactively - but maybe? > > And it also depends what jurisdiction you fall under... etc. > > Also, I've added an Xpra icon to the android project, which makes an app > > much more recognizable. But it requires your permission, if I'm not > > mistaken. So, do you agree, to use the Xpra icon in this project? > No problem from me here... this icon is a bit too close to the official > X11 icon, and I should probably have sought permission from them... > I just wanted to get something done quickly, many years ago, and did not > foresee the project getting as successful as it is now. > The project also covers a lot more than just plain-X11 servers now, so > this may be a good time to come up with a better icon? > (there are also requirements for 1024x1024 to get into the Apple appstore) > > Any feedback would be appreciated. > I'm hoping others can chime in, hopefully with more experience in this > area. > > Cheers > Antoine > > PS: Some pointers: > https://en.wikipedia.org/wiki/Clean_room_design > http://hoviblog.blogspot.fr/2008/10/clean-room-defeats-software.html > " For purposes of proving such a claim of copyright or trade secret > misappropriation, it is not necessary to prove that actual copying > occurred. It is sufficient to show that (1) the accused party had access > to the code, and (2) the accused party's code is substantially similar > to the claimant's code." > I have no idea what "substantially similar" means here! > > > > > Regards, > > Jakub Ksi??niak > > _______________________________________________ > > shifter-users mailing list > > shifter-users at lists.devloop.org.uk > > http://lists.devloop.org.uk/mailman/listinfo/shifter-users > > _______________________________________________ > shifter-users mailing list > shifter-users at lists.devloop.org.uk > http://lists.devloop.org.uk/mailman/listinfo/shifter-users > From scott at scooter.cx Tue Jun 23 16:05:39 2015 From: scott at scooter.cx (Scott Venier) Date: Tue, 23 Jun 2015 11:05:39 -0400 (EDT) Subject: [winswitch] problem importing gtk Message-ID: <3705.198.11.14.3.1435071939.squirrel@www.scooter.cx> I'm trying to setup xpra. One hurdle that I have is that I don't have root access to the machine, so I'm building it in my home directory and using virtualenv to get the modules I need. I've gotten it to build cleanly, but when I go to start it up I get the following error importing gtk.gdk. The Xvfb process sticks around, but xpra itself crashes. The log is pasted in below. My best guess is that I've got some module that I'm getting from the system install that's bellow the required minimum version, but I can't figure out what. The machine is a CentOS 6.6 build. Does anyone have suggestions one how I should go about debugging this? Thanks in advance, Scott [xpra_venv2] host:~> xpra start :100 --daemon=no --start-child=xterm Initializing built-in extension Generic Event Extension Initializing built-in extension SHAPE Initializing built-in extension MIT-SHM Initializing built-in extension XInputExtension Initializing built-in extension XTEST Initializing built-in extension BIG-REQUESTS Initializing built-in extension SYNC Initializing built-in extension XKEYBOARD Initializing built-in extension XC-MISC Initializing built-in extension SECURITY Initializing built-in extension XINERAMA Initializing built-in extension XFIXES Initializing built-in extension RENDER Initializing built-in extension RANDR Initializing built-in extension COMPOSITE Initializing built-in extension DAMAGE Initializing built-in extension MIT-SCREEN-SAVER Initializing built-in extension DOUBLE-BUFFER Initializing built-in extension RECORD Initializing built-in extension DPMS Initializing built-in extension Present Initializing built-in extension X-Resource Initializing built-in extension XVideo Initializing built-in extension XVideo-MotionCompensation Initializing built-in extension SELinux Initializing built-in extension GLX The XKEYBOARD keymap compiler (xkbcomp) reports: > Internal error: Could not resolve keysym XF86AudioMicMute Errors from xkbcomp are not fatal to the X server xpra main error: Traceback (most recent call last): File "/home/svenier/local/lib64/python/xpra/scripts/main.py", line 114, in main return run_mode(script_file, err, options, args, mode, defaults) File "/home/svenier/local/lib64/python/xpra/scripts/main.py", line 856, in run_mode return run_server(error_cb, options, mode, script_file, args) File "/home/svenier/local/lib64/python/xpra/scripts/server.py", line 848, in run_server display = verify_display_ready(xvfb, display_name, shadowing) File "/home/svenier/local/lib64/python/xpra/scripts/server.py", line 641, in verify_display_ready import gtk.gdk #@Reimport ImportError: No module named gtk.gdk 2015-06-22 14:09:05,757 removing socket /home/svenier/.xpra/host-100 [xpra_venv2] host:~> ps awux | grep svenier svenier 8748 0.1 0.0 137916 50848 ? Ss 14:09 0:00 Xvfb-for-Xpra-:100 +extension Composite -screen 0 3840x2560x24+32 -nolisten tcp -noreset -auth /home/svenier/.Xauthority :100 From antoine at nagafix.co.uk Wed Jun 24 16:03:39 2015 From: antoine at nagafix.co.uk (Antoine Martin) Date: Wed, 24 Jun 2015 22:03:39 +0700 Subject: [winswitch] problem importing gtk In-Reply-To: <3705.198.11.14.3.1435071939.squirrel@www.scooter.cx> References: <3705.198.11.14.3.1435071939.squirrel@www.scooter.cx> Message-ID: <558AC6CB.1070000@nagafix.co.uk> On 23/06/15 22:05, Scott Venier wrote: > I'm trying to setup xpra. One hurdle that I have is that I don't have > root access to the machine, so I'm building it in my home directory and > using virtualenv to get the modules I need. I've gotten it to build > cleanly, but when I go to start it up I get the following error importing > gtk.gdk. The Xvfb process sticks around, but xpra itself crashes. The > log is pasted in below. > > My best guess is that I've got some module that I'm getting from the > system install that's bellow the required minimum version, but I can't > figure out what. The machine is a CentOS 6.6 build. > > Does anyone have suggestions one how I should go about debugging this? > > Thanks in advance, > > Scott (snip) > import gtk.gdk #@Reimport > ImportError: No module named gtk.gdk You must have pygtk installed to run the xpra server. Cheers Antoine From antoine at nagafix.co.uk Wed Jun 24 16:30:49 2015 From: antoine at nagafix.co.uk (Antoine Martin) Date: Wed, 24 Jun 2015 22:30:49 +0700 Subject: [winswitch] [Xpra] Android client In-Reply-To: References: <558912A3.6000704@nagafix.co.uk> Message-ID: <558ACD29.50406@nagafix.co.uk> On 24/06/15 19:47, Jakub Ksi??niak wrote: > > Hi, > > Thanks for all feedback. I've read a bit about licensing and I came up > with some thoughts. > > 1. To write a fully functional client application, a network protocol > must be implemented to communicate with other side. In this case, the > only available reference is a source code of Xpra and wiki pages. > Correct. > > 2. Unfortunately the documentation found on the wiki is not > sufficient, as for example I had to learn from Java sample code what > capabilities must be sent in a Hello packet in order to connect to the > server. Without it, it's impossible to get a reasonable response, not > to mention about other features. > Yes, that's unfortunate. > > 3. If the Xpra protocol was described in some official document like > RFC6143 for the RFB protocol, then I could base on it instead of the > Xpra sources. > Indeed, the documentation on the wiki is fairly complete if not up to date, it could be turned into an RFC, given time... The flags > > To sum up, it appears that my code is a "derived work" and thus the > only option is to choose a GPL license. :-( > That is my interpretation - but not necessarily the right one! > > Then, I'll change license information on Github with my next commit. > I really don't like this outcome because it sounds like I am forcing a license (GPL) on your code, one that I didn't even choose to begin with... and I have no personal preference for it in any case. So I hope that someone else can suggest a way out of this conundrum. Cheers Antoine PS: I found the O'Reilly book " Intellectual Property and Open Source": http://shop.oreilly.com/product/9780596517960.do very relevant to this discussion. In particular chapters 12 and 13. > Thanks, > Jakub Ksi??niak > > 23 cze 2015 10:02 "Antoine Martin" > napisa?(a): > > Hi, > > On 22/06/15 22:47, Jakub Ksi??niak wrote: > > Hello, > > > > I've been writing an Android Xpra client for some time now > (maybe you > > remember our previous conversation on a mailing list). It took > me quite a > > lot of time to make a barely working app, but here it is. :) You can > > download source code from Github and build it by yourself: > > https://github.com/jksiezni/xpra-client > Good stuff! > I think this should replace the current "official" Android client, > which > was never more than a quick and dirty proof of concept. > > Moreover, I've got some concerns regarding licensing. I'd like > to share my > > code on terms of Apache License 2.0 and I'd like to know if it > is OK with > > you. > This is not entirely up to me and IANAL. > My understanding is that if you've developed your code using a "clean > room design", then you can use any license you want for your code. > Otherwise, you probably fall under the "derived work" and > therefore are > bound by the GPL. > > I did write a lot of information on the wiki to try to make it > easier to > implement new clients without referring to the actual code (though > most > of it may be slightly out of date), starting here: > http://xpra.org/trac/wiki/NetworkProtocol > > To make matters more complicated: although I would be quite happy to > re-license all of my code under a different license, which would cover > 100% of the Java client for example (assuming you read some code and > that this is what you used)... but then again, by definition (since I > wrote a large portion of the GPL2+ xpra code) not using a "clean room > design", I don't think I could re-license it under anything less > restrictive than the GPL. And even if this was possible, I'm not sure > you could apply it retroactively - but maybe? > > And it also depends what jurisdiction you fall under... etc. > > Also, I've added an Xpra icon to the android project, which > makes an app > > much more recognizable. But it requires your permission, if I'm not > > mistaken. So, do you agree, to use the Xpra icon in this project? > No problem from me here... this icon is a bit too close to the > official > X11 icon, and I should probably have sought permission from them... > I just wanted to get something done quickly, many years ago, and > did not > foresee the project getting as successful as it is now. > The project also covers a lot more than just plain-X11 servers now, so > this may be a good time to come up with a better icon? > (there are also requirements for 1024x1024 to get into the Apple > appstore) > > Any feedback would be appreciated. > I'm hoping others can chime in, hopefully with more experience in > this area. > > Cheers > Antoine > > PS: Some pointers: > https://en.wikipedia.org/wiki/Clean_room_design > http://hoviblog.blogspot.fr/2008/10/clean-room-defeats-software.html > " For purposes of proving such a claim of copyright or trade secret > misappropriation, it is not necessary to prove that actual copying > occurred. It is sufficient to show that (1) the accused party had > access > to the code, and (2) the accused party's code is substantially similar > to the claimant's code." > I have no idea what "substantially similar" means here! > > > > > Regards, > > Jakub Ksi??niak > > _______________________________________________ > > shifter-users mailing list > > shifter-users at lists.devloop.org.uk > > > http://lists.devloop.org.uk/mailman/listinfo/shifter-users > > _______________________________________________ > shifter-users mailing list > shifter-users at lists.devloop.org.uk > > http://lists.devloop.org.uk/mailman/listinfo/shifter-users > From dougdoole at gmail.com Wed Jun 24 16:38:00 2015 From: dougdoole at gmail.com (Douglas Doole) Date: Wed, 24 Jun 2015 15:38:00 +0000 Subject: [winswitch] Windows not appearing in task manager In-Reply-To: <558828B5.5060208@nagafix.co.uk> References: <558828B5.5060208@nagafix.co.uk> Message-ID: I created ticket 895 for this problem. On Mon, Jun 22, 2015 at 11:24 AM Antoine Martin wrote: > On 22/06/15 16:54, Douglas Doole wrote: > > Since upgrading to xpra 0.15.x (both .0 and .1 have this problem) I've > had > > trouble with windows not appearing in the task manager. (xpra 0.14.x > never > > had this problem.) > FWIW: there is a lot of new code to do with window grouping in the task > bar for MS Windows clients, but the code is almost identical to v0.14.x > for all the other platforms. > > Which windows do and don't appear in the task manager, depends on the > task manager and various window attributes - most importantly the > "window type" and "group-leader", and potentially other attributes (pid, > etc). > You can view some those properties with something like: > $ xpra info | egrep "window-type=|class-instance=|\.title=|transient=" > > For example, I'll start one konsole over xpra and it will appear in the > > task manager. Yet when I start a second konsole it appears on screen, but > > not in the task manager. > Some task managers do group applications by type/class or pid. > This could be happening here. > > Unfortunately I haven't been able to pin down a > > pattern to which windows appear in the task bar and which ones don't. > > (Today, the first window I created showed up in the task bar and the rest > > are not. I do not, however, have consistent good luck with the first > window > > created.) The problem does not seem to be tied to a specific application. > > (I mostly use konsole and gvim, but I've seen the problem with other > > applications as well.) > This sort of bug should be mostly application agnostic. > > As I'm playing with things and writing this note, I see that it's having > > more trouble than I originally thought. I have now also seen an existing > > task manager entry disappear as a new window is created. The task manage > > entry for the new window may or may not be created. > This sounds very broken indeed. > Can you please file a ticket so we can track this? > There are already some platform integration items due for 0.16, like > integrating into Unity / Gnome3 / Windows 7 onwards task bar / etc.. > > My client and server are both running Ubuntu 14.04. My client is using > KDE. > > > > I have tried starting with client with "-d window" but it didn't report > > anything. Is there a different debug option I should use? > You can try with "-d client", but this is going to be very verbose and > you will need to grep the output for things like "group_leader". > > Cheers > Antoine > > > > Thanks. > > _______________________________________________ > > shifter-users mailing list > > shifter-users at lists.devloop.org.uk > > http://lists.devloop.org.uk/mailman/listinfo/shifter-users > > > _______________________________________________ > shifter-users mailing list > shifter-users at lists.devloop.org.uk > http://lists.devloop.org.uk/mailman/listinfo/shifter-users > From antoine at nagafix.co.uk Sun Jun 28 17:27:22 2015 From: antoine at nagafix.co.uk (Antoine Martin) Date: Sun, 28 Jun 2015 23:27:22 +0700 Subject: [winswitch] [ANNOUNCE] [LTS] xpra 0.14.27 (a few minor fixes) Message-ID: <5590206A.6030200@nagafix.co.uk> Hi, This update fixes a few minor bugs. There is no urgency to update if you were not affected. 0.14.27 release notes: * add missing file to clean list * fix rgb encodings can use speed setting * fix propagation of dynamic attributes for OR windows * fix invalid warnings in parsing client connection options * fix handling of the window decorations flag The source: https://xpra.org/src/ Binaries/repositories: https://winswitch.org/downloads/ Direct binary downloads: https://xpra.org/dists/ Beta: https://xpra.org/beta/ Cheers Antoine From antoine at nagafix.co.uk Sun Jun 28 18:37:21 2015 From: antoine at nagafix.co.uk (Antoine Martin) Date: Mon, 29 Jun 2015 00:37:21 +0700 Subject: [winswitch] [ANNOUNCE] xpra 0.15.2 (minor fixes) Message-ID: <559030D1.10403@nagafix.co.uk> Hi, This update fixes a fair number of minor issues. There is no urgency to update if you were not affected. 0.15.2 release notes: * fix rgb encodings can use speed setting * fix propagation of dynamic attributes for OR windows * fix invalid warnings in parsing client connection options * fix handling of the window decorations flag * fix missing lock around Python logger callback * fix size-hints with shadow servers * fix max-size switch * fix sound process communication errors during failures * fix invalid options shown in default config file * add missing file to clean list * skip unnecessary workarounds with GTK3 client * cleaner thread cleanup on server exit * use the safer and slower code with non-OpenGL clients The source: https://xpra.org/src/ Binaries/repositories: https://winswitch.org/downloads/ Direct binary downloads: https://xpra.org/dists/ Beta: https://xpra.org/beta/ Cheers Antoine From dougdoole at gmail.com Mon Jun 29 14:59:16 2015 From: dougdoole at gmail.com (Douglas Doole) Date: Mon, 29 Jun 2015 13:59:16 +0000 Subject: [winswitch] Nit picky session info problem Message-ID: I just upgraded my client from 0.15.1 to 0.15.2 today, and noticed a small problem in the session info report. Do the following: - Using 0.15.1, connect xpra client to a server - Upgrade client to xpra 0.15.2, but do not restart the client - Pull up the session info window from the system tray icon The session info report shows the client as running 0.15.2, but it's really still running 0.15.1. (I think this is why I incorrectly reported that ticket 871 wasn't fixed by 0.15.0 - I thought I was running the upgraded client, but I was still on 0.14.x.) In case it makes a difference, my client is Ubuntu 14.04 using KDE. From antoine at nagafix.co.uk Tue Jun 30 05:14:18 2015 From: antoine at nagafix.co.uk (Antoine Martin) Date: Tue, 30 Jun 2015 11:14:18 +0700 Subject: [winswitch] note to downstream packagers - 0.15.2-2 Message-ID: <5592179A.8030907@nagafix.co.uk> Hi, I have added a new wiki page which should be helpful to downstream packagers, and also for my own use when managing stable updates: http://xpra.org/trac/wiki/Versions/PendingFixes From there, you can see what has been applied to each branch, and what is likely to be applied in future updates. I mention this now because I managed to make a mess of one patch in 0.15.2, which caused this bug: http://xpra.org/trac/ticket/900 Because of the way the xpra.org build system works, I was able to push out fixed packages (as "0.15.2-2") with this change easily enough last night. But downstream packagers would have to either snapshot the branch or convert the commits into patches... At least now it should be more straightforward. Cheers Antoine