Come da topic, nuovo articolo in wikislacky, sezione scritti misti.
Ciao a tutti.
Moderatore: Staff

kio_file: *** Starting kio_sysinfo
kio_sysinfo: (/org/freedesktop/Hal/devices/volume_uuid_257e9c8a_9f10_47d4_8529_e48878d74ec1,sda3,38G Media,,true,/dev/sda3,,reiserfs,false,,media/hdd_unmounted,,---,/org/freedesktop/Hal/devices/volume_uuid_6C1095B7109588AA,sda2,37G Media,,true,/dev/sda2,/win-xp,ntfs,true,,media/hdd_mounted,,---,/org/freedesktop/Hal/devices/volume_uuid_A03C986E3C9840E8,sda1,84G Media,,true,/dev/sda1,/win-vista,ntfs,true,,media/hdd_mounted,,---)
process 1150: arguments to dbus_move_error() were incorrect, assertion "(dest) == NULL || !dbus_error_is_set ((dest))" failed in file dbus-errors.c line 254.
This is normally a bug in some application using the D-Bus library.
D-Bus not built with -rdynamic so unable to print a backtrace
kioslave: ####### CRASH ###### protocol = kio_sysinfo pid = 1150 signal = 6
In più utilizzando qdbusviewver ho capito il funzionamento dello script e tutto fila liscio se lo faccio a mano.

if (m_halContext && di.id.startsWith("/org/freedesktop/Hal/" ) )
if (m_halContext && di.id.startsWith("/org/freedesktop/Hal/devices/volume" ) )


dcop kded mediamanager fullList/org/freedesktop/Hal/devices/volume_uuid_c614b883_acac_498f_8ab2_30975e9a45b2
sda3
Dispositivo 155G
true
/dev/sda3
/home
ext3
true
media/hdd_mounted
---
/org/freedesktop/Hal/devices/volume_uuid_ea59dbde_b2f0_4435_b740_a2232c8d6e3d
sda2
Dispositivo 81G
true
/dev/sda2
ext3
false
media/hdd_unmounted
---
/org/freedesktop/Hal/devices/volume_uuid_342811C128118352
sda1
Dispositivo 81G
true
/dev/sda1
/mnt/winxp
ntfs
true
media/hdd_mounted
---
/org/freedesktop/Hal/devices/platform_floppy_0_storage
0
true
/dev/floppy/0
false
media/floppy_unmounted
di.mounted = ( *++it == "true" ); // bool
, e devo dire che funziona anche la tua (non avevo dubbi).
) perchè la mia funziona (cioè bypassare il check del floppy), la tua è sicuramente più valida, perchè non altera il comportamento dell'originale.
m_info[ OS_SYSTEM ] = readFromFile( "/etc/lsb-release", "DISTRIB_DESCRIPTION", "=" );
m_info[ OS_VERSION ] = readFromFile( "/etc/lsb-release", "DISTRIB_CODENAME", "=" );
dcop kded networkstatus status www.google.com

gianco ha scritto:Resta inoltre da sotituire la stringa "lsb-release" con "slackware-version" (sed fa al caso nostro) e cambiare leggermente il codice
- Codice: Seleziona tutto
m_info[ OS_SYSTEM ] = readFromFile( "/etc/lsb-release", "DISTRIB_DESCRIPTION", "=" );
m_info[ OS_VERSION ] = readFromFile( "/etc/lsb-release", "DISTRIB_CODENAME", "=" );
per assegnare i valori giusti alle stringhe, poi dovremmo esserci.
if((fp =fopen ("/etc/slackware-version", "r"))==NULL)
m_info[ OS_SYSTEM ] = readFromFile( "/etc/issue" );
else
{ fclose(fp);
m_info[ OS_SYSTEM ] = "Slackware";//readFromFile( "/etc/slackware-version", "DISTRIB_DESCRIPTION", "=" );
m_info[ OS_VERSION ] = readFromFile( "/etc/slackware-version", m_info[ OS_SYSTEM ], " " );
}
dapuzz ha scritto:per quello io ho forzato in questo modo un po' penosino
- Codice: Seleziona tutto
if((fp =fopen ("/etc/slackware-version", "r"))==NULL)
m_info[ OS_SYSTEM ] = readFromFile( "/etc/issue" );
else
{ fclose(fp);
m_info[ OS_SYSTEM ] = "Slackware";//readFromFile( "/etc/slackware-version", "DISTRIB_DESCRIPTION", "=" );
m_info[ OS_VERSION ] = readFromFile( "/etc/slackware-version", m_info[ OS_SYSTEM ], " " );
}
if((fp =fopen ("/etc/lsb-release", "r"))==NULL)
m_info[ OS_SYSTEM ] = readFromFile( "/etc/slackware-version" );
else
{
...
}
if (m_halContext && di.id.startsWith("/org/freedesktop/Hal/devices/volume" ) )
{
dbus_error_init(&error);
di.total = libhal_device_get_property_uint64(m_halContext, di.id.latin1(), "volume.size", &error);
if (dbus_error_is_set(&error))
di.total = 0;
}
di.model = libhal_device_get_property_string( m_halContext, di.id.latin1( ), "block.storage_device", &error );
di.model = libhal_device_get_property_string( m_halContext, di.model.latin1( ), "storage.model", &error );
++it; // skip separator
m_devices.append( di );
}
m_info[PRODUCT ] = libhal_device_get_property_string( m_halContext, "/org/freedesktop/Hal/devices/computer", "smbios.system.product", &error );
dbus_error_init(&error);
m_info[MANUFACTURER ] = libhal_device_get_property_string( m_halContext, "/org/freedesktop/Hal/devices/computer", "smbios.system.manufacturer", &error );
dbus_error_init(&error);
m_info[TYPE] = libhal_device_get_property_string( m_halContext, "/org/freedesktop/Hal/devices/computer", "smbios.chassis.type", &error );
dbus_error_init(&error);
m_info[BIOSVENDOR] = libhal_device_get_property_string( m_halContext, "/org/freedesktop/Hal/devices/computer", "smbios.bios.vendor", &error );
dbus_error_init(&error);
m_info[BIOSVERSION] = libhal_device_get_property_string( m_halContext, "/org/freedesktop/Hal/devices/computer", "smbios.bios.version", &error );
dbus_error_init(&error);
libhal_ctx_free(m_halContext);
return true;

dapuzz ha scritto:si potrebbe avvisare l'autrice per far fare una nuova versione revisionata e corretta... ho provato a contattarla, ma non so se non abbia scritto lei il kio, o se se ne sia completamente scordata!




Visitano il forum: Nessuno e 0 ospiti