You are not logged in.
After the last upgrade, when I run wicd as a normal user, I get the following:
jorge@flamingo:~$ wicd-curses
Traceback (most recent call last):
File "/usr/share/wicd/curses/wicd-curses.py", line 1063, in <module>
main()
File "/usr/share/wicd/curses/wicd-curses.py", line 995, in main
ui.run_wrapper(run)
File "/usr/lib/python2.7/site-packages/urwid/display_common.py", line 757, in run_wrapper
return fn()
File "/usr/share/wicd/curses/wicd-curses.py", line 88, in wrapper
return func(*args, **kargs)
File "/usr/share/wicd/curses/wicd-curses.py", line 1003, in run
app = appGUI()
File "/usr/share/wicd/curses/wicd-curses.py", line 591, in __init__
self.update_status()
File "/usr/share/wicd/curses/wicd-curses.py", line 88, in wrapper
return func(*args, **kargs)
File "/usr/share/wicd/curses/wicd-curses.py", line 734, in update_status
self.set_status):
File "/usr/share/wicd/curses/wicd-curses.py", line 88, in wrapper
return func(*args, **kargs)
File "/usr/share/wicd/curses/wicd-curses.py", line 161, in check_for_wireless
('$C', ip))
File "/usr/share/wicd/curses/wicd-curses.py", line 781, in set_status
self.update_ui()
File "/usr/share/wicd/curses/wicd-curses.py", line 88, in wrapper
return func(*args, **kargs)
File "/usr/share/wicd/curses/wicd-curses.py", line 930, in update_ui
input_data = ui.get_input_nonblocking()
AttributeError: 'Screen' object has no attribute 'get_input_nonblocking'
If I run it with sudo, it works.
I remember that used to be the case a long long time ago, and I had found the
solution in the forums, but now I can't for the life of me. And it has to do with
the latest upgrade probably.
Any ideas?
Thanks a lot in advance.
Last edited by geo909 (2014-12-02 23:18:06)
Offline
I have the same problem.
The python package that wicd-curses uses for its interface, urwid, has apparently introduced some changes that are not backwards-compatible in version 1.3.
I fixed it (temporarily) by downgrading python2-urwid to a version < 1.3.0. https://wiki.archlinux.org/index.php/do … l_packages
How are problems like this normally dealt with in Arch? Some ideas:
Use a virtualenv and install the old urwid version for wicd only
Patch wicd-curses so that it works with the newer urwid
Patch urwid so it's backwards-compatible
The only good solution to running several python programs in parallel, that require different versions of the same library, is to use virtualenv afaik - not pacman. The default of always using the latest version of all libraries is bound to eventually break something.
Offline
Note: Currently Wicd is no longer actively developed due to the lack of manpower. For more information, see this bug report. If you want a stable and actively developed network manager instead, consider Connman or netctl.
Offline
Thanks for the feedback.. This is unfortunate, I had no idea that the project was on hold.
I will start using a different network manager then.
Offline
Hi,
I wrote a small patch for this issue. Here's a write-up in german, but I'm sure google translator will do the work (http://technik.blogbasis.net/wicd-curse … 04-12-2014).
TL;DR: Apply this patch:
--- /usr/share/wicd/curses/wicd-curses.py 2013-08-20 15:09:54.000000000 -0400
+++ /tmp/wicd.py 2014-12-05 23:32:05.303349880 -0500
@@ -927,9 +927,11 @@
if not ui._started:
return False
- input_data = ui.get_input_nonblocking()
+ # input_data = ui.get_input_nonblocking()
+ ui.set_input_timeouts(max_wait=0)
+ input_data = ui.get_input()
# Resolve any "alarms" in the waiting
- self.handle_keys(input_data[1])
+ self.handle_keys(input_data) # [1]
# Update the screen
canvas = self.frame.render( (self.size),True )
by saving the patch to /tmp/wicd.patch and then executing
sudo patch /usr/share/wicd/curses/wicd-curses.py < /tmp/wicd.patch
Note: ESC-key may be broken after the patch (e.g. you have to hit another key after the ESC-key), but it should bring back the wicd-curses interface.
EDIT:
Fixed intendation errors. Thanks to @pbhandari
All the best,
gehaxelt
Last edited by gehaxelt (2014-12-06 20:46:53)
Offline
Doesn't work for me
marek at mpr mpr /tmp $ sudo patch /usr/share/wicd/curses/wicd-curses.py < /tmp/wicd.patch
[sudo] password for marek:
patching file /usr/share/wicd/curses/wicd-curses.py
Hunk #1 FAILED at 927.
1 out of 1 hunk FAILED -- saving rejects to file /usr/share/wicd/curses/wicd-curses.py.rej
Offline
Thanks a lot. However I'd rather install a new network manager if this is not developed anymore.
Offline
Doesn't work for me
I think the indentation is a bit messed on the patch provided, but if you manually change the lines I can confirm that it works
This patch should work(hopefully)
--- /usr/share/wicd/curses/wicd-curses.py 2013-08-20 15:09:54.000000000 -0400
+++ /tmp/wicd.py 2014-12-05 23:32:05.303349880 -0500
@@ -927,9 +927,11 @@
if not ui._started:
return False
- input_data = ui.get_input_nonblocking()
+ # input_data = ui.get_input_nonblocking()
+ ui.set_input_timeouts(max_wait=0)
+ input_data = ui.get_input()
# Resolve any "alarms" in the waiting
- self.handle_keys(input_data[1])
+ self.handle_keys(input_data) # [1]
# Update the screen
canvas = self.frame.render( (self.size),True )
Last edited by pbhandari (2014-12-06 04:45:36)
Offline
Thx a lot @pbhandari !
Offline