Nautilus tries but fails to auto-install applications needed to open files of a given type
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
app-install-data-ubuntu (Ubuntu) |
Fix Released
|
High
|
Unassigned | ||
nautilus (Ubuntu) |
Invalid
|
Low
|
Unassigned | ||
sessioninstaller (Ubuntu) |
Fix Released
|
Low
|
Unassigned |
Bug Description
I'm running Nautilus 3.6.3 on Ubuntu 13.10 (Saucy).
When I double click a file in Nautilus and there is no application installed which can open the file, Nautilus will try to auto-install an application but the auto-install hangs. Specifically, for example:
1. Make sure that Gnumeric is not installed on your system.
2. Create a file with extension .gnumeric and double click it in Nautlius.
Nautilus will report:
Could not display "finance.gnumeric".
There is no application installed for "Gnumeric spreadsheet" files.
Do you want to search for an application to open this file?
Click Yes. You'll now see a dialog that looks like this:
Searching for suitable software to open files
Files requires to install [sic] software to open files of the following file type: Gnumeric spreadsheet
The dialog has a progress bar, which will briefly pulse and then stop. You can now only press Cancel.
A glance at the code shows that Nautilus is trying to send a DBus message to PackageKit to perform the install. There are apparently some PackageKit components on my system (e.g. libpackagekit-
Related branches
- Martin Pitt (community): Approve
-
Diff: 24 lines (+5/-1)1 file modifiedsessioninstaller/core.py (+5/-1)
description: | updated |
Thanks Adam, trying to figure out what is happening there I looked at a dbus-monitor log and saw that:
"error sender=:1.444 -> dest=:1.438 error_name= org.freedesktop .DBus.Python. xdg.Exceptions. ParsingError reply_serial=158 python2. 7/dist- packages/ defer/_ _init__ .py", line 489, in _inline_callbacks python2. 7/dist- packages/ sessioninstalle r/core. py", line 1030, in _install_mime_types python2. 7/dist- packages/ xdg/DesktopEntr y.py", line 33, in __init__ parse(filename) python2. 7/dist- packages/ xdg/DesktopEntr y.py", line 42, in parse parse(self, file, ["Desktop Entry", "KDE Desktop Entry"]) python2. 7/dist- packages/ xdg/IniFile. py", line 81, in parse "Invalid line: " + line, filename) app-install/ desktop/ workrave: workrave. desktop' , Invalid line: - RSI (Repetitive Strain Injury) oraz wspomaga rekonwalescencj \u0119"
string "Traceback (most recent call last):
File "/usr/lib/
result = gen.send(result)
File "/usr/lib/
path))
File "/usr/lib/
self.
File "/usr/lib/
IniFile.
File "/usr/lib/
raise ParsingError(
ParsingError: ParsingError in file '/usr/share/
removing '/usr/share/ app-install/ desktop/ workrave: workrave. desktop' fixes the issue
I'm adding app-install- data-ubuntu (which ships the broken .desktop), workrave (where the original .desktop comes from) and sessioninstaller (which shouldn't probably stop working because one file has parsing errors) to the affected components