Technik

CyanogenMod mit Offline-Kalender

2. Oktober 2012 · Betriebssysteme · andreas · 2 Kommentare

Eines der wenigen Vorteile der Samsung-Stock-ROM gegenüber CyanogenMod ist der integrierte Offline-“Eigene Kalender”-Kalender, in dem man auch Termine speichern kann, ohne sie mit Google synchonisieren zu müssen.

Zumindest mit etwas Bastelei kann die Funktionalität auch unter CyanogenMod realisiert werden, den entscheidenden Hinweis liefert Benutzer “Online78” im Android-Hilfe-Forum:

  1. Von der original Stock-ROM die “Calendar.apk” sowie die “CalendarProvider.apk” kopieren und de-odexen.

  2. Das CyanogenMod-Installations-ZIP mit z.B. WinRAR öffnen und im Verzeichnis “/system/app/” die Dateien “Calendar.apk” sowie “CalendarProvider.apk” löschen

  3. Die in Schritt 1 erzeugten “Calendar.apk” sowie die “CalendarProvider.apk” in das Verzeichnis “/system/app/” einfügen

  4. CyanogenMod installieren

Nach Öffnen der Kalender-Anwendung steht der “Eigene Kalender” zur Verfügung!


Roccat Kone erzeugt sporadisch Doppelklicks

6. September 2012 · Hardware · andreas · Kein Kommentar

Mechanik nutzt sich im Laufe der Zeit leider ab und so kann es passieren, daß die Roccat Kone nach einiger Betriebszeit beginnt, selbständig einfache Klicks in Doppelklicks zu wandeln.

Die Behebung des Problems ist recht einfach und besteht aus wenigen Schritten, die im Blog von it-tutorials4you ausführlich beschrieben und bebildert sind:

  • Ablösen der Gleitflächen von der Unterseite der Maus

  • Lösen der 4 Gehäuseschrauben

  • Öffnen des Gehäuses

  • (optionale) Reinigung des Innenlebens

  • Überkleben der Plastikstifte, welche die Maustasten-Schalter betätigen mit z.B. einem Streifen Klebeband

  • Zusammenbau


Remoteprozess auf einem Windows-Rechner mittels PERL starten

11. August 2012 · Programmierung · andreas · Kein Kommentar

Um mittels PERL einen Remoteprozess auf einem entfernten Windows-Rechner zu starten, gibt es mehrere Alternativen:

Eine Möglichkeit ist die Verwendung von “PsExec.exe” aus der PsTools-Suite von Microsoft, die allerdings den Nachteil hat, daß über einen “system”-Call ein externes Programm aufgerufen wird und die Einfluss- und Kontrollmöglichkeiten sehr beschränkt sind.

Soll der Start in PERL durchgeführt werden, so ist zwischen zwei Anwendungsszenarien zu unterscheiden:

Sofern lediglich unter dem Kontext des aufrufenden Benutzers ein Prozess gestartet werden soll, reichen 2 Zeilen PERL-Code (aus Gründen der Übersichtlichkeit wurde auf Fehlerbehandlung verzichtet):

use strict;
use warnings;
use Win32::OLE;

my $remoteHost = 'myHost';
my $remoteCmd = 'c:\windows\notepad.exe';

my $wmi = Win32::OLE->GetObject("winmgmts:{ImpersonationLevel=Impersonate,(security)}//$remoteHost\\root\\cimv2:Win32_Process");
$wmi->Create($remoteCmd);

Weitaus flexibler ist hingegen die Möglichkeit, den Prozess unter einem anderen Benutzer zu starten und ggf. auch noch auf Daten eines weiteren Rechners zugreifen zu lassen:

use strict;
use warnings;
use Win32::OLE;
use Win32::OLE::Variant;

my $remoteDomain= 'myDomain';
my $remoteHost = 'myHost';
my $remoteUser = 'myDomain\myUser';
my $remotePwd = 'myPassword';
my $remoteCmd = 'c:\windows\notepad.exe';

my $locator = Win32::OLE->new('WbemScripting.SWbemLocator');
my $service = $locator->ConnectServer($remoteHost, 'root\cimv2', $remoteUser, $remotePwd, 'MS_409', "kerberos:$remoteDomain\\$remoteHost");

$service->{Security_}->{AuthenticationLevel} = 6; # PktPrivacy
$service->{Security_}->{ImpersonationLevel} = 4; # Delegate

my $process = $service->Get('Win32_Process');

my $vPid = Variant(VT_I4 | VT_BYREF, 0);

$process->Create($remoteCmd, undef, undef, $vPid);

print "process running - pid: $vPid\n";

Beim Remotehost ist darauf zu achten, daß der tatsächliche Rechnername und kein DNS-Alias verwendet wird da sonst der Verbindungsaufbau mit dem Fehler 0x800706ba “Der RPC-Server ist nicht verfügbar” scheitert.

Sofern tatsächlich im Rahmen des Remoteaufrufs ein dritter Rechner miteinbezogen werden soll, sind hierbei einige Einschränkungen zu beachten, wie der TechNet-Artikel “Geheimnisse von Windows Management Instrumentation” erklärt:

Wenn ein Clientcomputer (Computer A) Anmeldeinformationen für die Domäne von einem Remoteserver (Computer B) an einen dritten Computer (Computer C) weiterleiten muss, ist Delegierung erforderlich. Dies trifft zu, wenn zwei oder mehr Netzwerkhops für einen bestimmten Vorgang ausgeführt werden müssen. Ohne Delegierung kann Computer B keine von Computer A empfangenen Anmeldeinformationen weiterleiten; deshalb schlägt die Verbindung mit Computer C fehl.

Die genauen Schritte zur Einrichtung der Delegierung sowie ein vbs-Skript zum Testen des Aufrufs sind in dem Artikel erläutert.

windows-delegierung

Wichtig ist der Hinweis, dass zur erfolgreichen Durchführung die Delegierung für Computer B in Active Directory aktiviert werden muss. Hierzu ist in den Eigenschaften des Computer-Kontos im Active Directory die Option “Computer für Delegierungszwecke vertrauen” zu aktivieren, ansonsten scheitert der Aufruf mit dem Fehler 0x80070721: “Fehler im Sicherheitspaket”.

Literaturhinweise:

Aktualisierungen:
05.05.2015: Zusätzliche Informationen bezüglich Rechnernamen und Delegierung hinzugefügt.

G Data meldet "Die Virensignaturen müssen aktualisiert werden"

29. Juli 2012 · Anwendungen · andreas · 24 Kommentare

Sollte beim Update der Virensignaturen etwas schieflaufen, so kann es sein, daß G Data anschließend beharrlich beim Rechnerneustart auf eine fehlende Aktualisierung der Virensignaturen hinweist.

gdata_aktualisierung

Während auf dem Programmicon im Systemtray ein Ausrufezeichen zu sehen ist, erscheint beim Blick auf die Programmoberfläche ein grünes Häkchen mit Status “Ihr System ist geschützt!”, der Aufruf der Funktion “Virensignaturen aktualisieren” bringt keine Änderung.

Zur Lösung des Problems ist eine Aktualisierung ohne Versionsprüfung durchzuführen. Hierzu in den Einstellungen unter “AntiVirus” / “Updates” den Haken bei “Versionsprüfung” entfernen, mit “OK” bestätigen und anschließend die Virensignaturen aktualisieren.

Nach erfolgter Aktualisierung nicht vergessen, den Haken bei “Versionsprüfung” erneut zu setzen.


NTP-Client unter Solaris konfigurieren

29. Juni 2012 · Betriebssysteme · andreas · Kein Kommentar

Um einen NTP-Client unter Solaris zu konfigurieren, sind folgende Schritte durchzuführen:

Als erstes sollte die Musterdatei “/etc/inet/ntp.client”

# /etc/inet/ntp.client
#
# An example file that could be copied over to /etc/inet/ntp.conf; it
# provides a configuration for a host that passively waits for a server
# to provide NTP packets on the ntp multicast net.

als Datei “/etc/inet/ntp.conf” kopiert werden, was mit dem Befehl

cp /etc/inet/ntp.client /etc/inet/ntp.conf

durchgeführt werden kann.

Anschließend die soeben kopierte Datei öffnen und z.B. durch Angabe eines Servers anpassen:

server pool.ntp.org

Als letzter Schritt muß noch der zugehörige Dienst gestartet werden

svcadm enable svc:/network/ntp

Ein anschließender Blick in die Datei “/var/adm/messages” sollte Klarheit verschaffen, ob der konfigurierte Zeitserver auch erfolgreich angesprochen werden konnte:

Jun 22 12:29:59 myserver ntpdate[1549]: [ID 774510 daemon.notice] step time server 192.168.0.1 offset -1921.274780 sec
 Jun 22 12:29:59 myserver xntpd[1551]: [ID 702911 daemon.notice] xntpd 3-5.93e+sun 03/08/29 16:23:05 (1.4)
 Jun 22 12:29:59 myserver xntpd[1551]: [ID 301315 daemon.notice] tickadj = 5, tick = 10000, tvu_maxslew = 495, est. hz = 100
Jun 22 12:30:00 myserver xntpd[1551]: [ID 266339 daemon.notice] using kernel phase-lock loop 0041, drift correction 0.00000

Sollte es zu Problemen kommen, hilft hoffentlich ein Blick auf die Seite “Troubleshooting NTP on Solaris”, welche die Analyse möglicher Fehlerquellen erläutert.