WordPress TinyMCE wieder aktivieren

Seit dem ich Markdown ausprobiert hatte, funktionierte mein TinyMCE-Editor nicht mehr. Nach langen suchen hab ich auch nicht wirklich was gefunden, immer nur Links auf TinyMCE Advanced Plugin.

Daher dachte ich, das ich mir das alte Plugin wieder suchen müsste, diese installieren und dann durch erneutes deaktivieren der TinyMCE wieder erscheint. Dabei bin ich dann aber auf des Rätsels Lösung gestoßen.

Ich musste das alte Plugin nicht installieren, sondern in meinen Profil, ist die erste Option wenn diese gesetzt ist, zum deaktivieren des TinyMCE vorhanden. Nach dem ich den Haken wieder entfernt habe, erscheint nun endlich der TinyMCE-Editor weider *freu*.

Veröffentlicht unter Allgemein | 1 Kommentar

Umbau des Blogs

Guten Tag Leser

Der Blog wird aktuell umgebaut.

Zuerst wird ein Strukturierender Umbau durchgeführt. Alles was als KnowHow gehandelt wird, wird ab sofort in die Wissensdatenbank eingetragen, damit die Artikel einfach zu finden sind. In den Standard-Blog kommen dann noch Eintrage die mehr an Meldungen erinnern.

Nachfolgend wird noch ein neuer Style auf HTML5 und CSS3 kommen wird, da dieser nicht gekauft wird, sondern von mir selbst gebaut wird, dauert dies noch etwas bis er komplett funktionstüchtig ist und für alle aktiviert wird.

Mfg MDN

Veröffentlicht unter Allgemein | Hinterlasse einen Kommentar

CSS und seine Vielfalt

Da ich mich nun in der Arbeit wieder mehr mit Webseiten beschäftigen muss, bin ich zurzeit auf viele gute Webseiten zu CSS und HTML gefunden. Als interessantes fand ich folgenden URL: Sprite-Grafik / Webstandard. Solche Menus kenne ich nur per JavaScript, welches ich ungern einsetze, aber jetzt weiß ich auch wie es per CSS geht. Dies werde ich woll merken und in meine Nächsten Templates einbauen :-) .

Nachfolgende URLs sind ebenfalls noch zu nennen:

Veröffentlicht unter Allgemein | Verschlagwortet mit , | Hinterlasse einen Kommentar

Akismet-Plugin in Deutschland verwenden

Durch Suche für Custom Post Types bin ich auf folgenden Artikel gestoßen: Hinweise zum Datenschutz beim Einsatz von Akismet in Deutschland.

Da ich bis jetzt nur gute Arbeit vom Akismet kenne, und das Plugin nicht deaktiveren möchte habe ich mich dazu entschieden das Plugin “Akismet Privacy Policies” zu aktivieren, wodurch jetzt an jeder möglichen Stelle für Kommentar die Checkboxen erscheint, aber leider geht es nicht anders.

Veröffentlicht unter Allgemein | Hinterlasse einen Kommentar

WordPress Syntaxhighlighting mit Leerraum am Anfang

Ich hab seit langer Zeit das Plugin “SyntaxHighlighter Plus” verwendet, um meine Quellen farblich anzuzeigen. Bei einfachen Quellen war dies noch einfach und ohne Probleme, es wurde einfach mit [ Sprachkennung ] begonnen und mit [ /Sprachkennung ] beendet.

Probleme gab es aber immer dann, wenn es längere Quellen waren, die auch Einrückungen hatten. Entweder man hat diese in der Visuell-Ansicht angegeben, dann sind nach jedem speichern die mühsam erzeugten Einrückungen wieder entfernt gewesen. Hat man das ganze in einen Quote-Block gesetzt, so wurde nichts gelöscht, aber es wurden die Tags nicht erkannt, wodurch die Quellen nicht farblich geschaltet wurden

Oder man musste in die HTML-Ansicht wechseln, und dort die Quellen einfügen. Nach dem Speichern und erneuten editieren, sind aber dort dann bekannte HTML-Zeichen durch ihre Textersetzungen ersetzt worden. Das Problem war dann aber, das das kaufmännische Und bei jedem Speichern ersetzt wurde. Was bedeutet, der erste Wurf musste sitzen.

Endlich fand ich dann folgenden 2 Plugins, welche die alte Funktionalität unterstützten und sehr einfach gehalten wurden:

  • SyntaxHighlighter Evolved
  • SyntaxHighlighter TinyMCE Button

So existieren nun 2 Buttons im TinyMCE-Editor, durch denen Quote-Blöcke eingefügt werden, die zeitgleich eine Sprachkennung besitzen, um die Quellen farblich zu gestalten. Und durch den Quote-Block, gehen auch keine Einrückungen mehr verloren. Was ebenfalls sehr interessant ist, es gibt die Möglichkeit, in den Kommentaren das Syntaxhighlighting zu aktivieren.

Einzige einige Einstellungen musste ich noch im Evolved vornehmen, damit es wieder so aussah wie im alten und das waren folgende:

  • Hightlighter Version auf 2.x gestellt, dadurch funktioniert wieder der Zeilenumbruch, sowie die 4 Buttons werden dargestellt
  • “Load all Brushes” muss aktiviert werden, damit es überhaupt funktioniert
  • “Wrap long lines” muss aktiviert werden, damit der Zeilenumbruch funktioniert

[Update]Nachgehend habe ich doch noch ein anderes Plugin gefunden, mit dem Namen “WP SyntaxHighlighter”, welches die oberen 2 in einem vereint und noch etwas zusätzliche Funktionalität hinzufügt. Der einzige Nachteil ist, das die alte []-Tags nicht mehr erkannt werden, wodurch einige älter Blogs nochmal überarbeitet werden mussten.

Als zusätzliche Funktionalität existiert die Möglichkeit in Kommentaren SyntaxHighlighting zu setzten. [/Update]

Veröffentlicht unter WordPress | Verschlagwortet mit , , | Hinterlasse einen Kommentar

C# Dienst mit eigener Installationsroutine (per /i)

Nach langer suche und vielen Zusammenstückeln, habe ich nun endlich ein komplettes Paket um einen Dienst die Möglichkeit zu implementieren sich selbst per Kommandozeilenparameter zu installieren.

Ebenso wird zeitgleich eine Konsolenausgabe mit implementiert. Das einzige Problem hier ist, solange der Projekt-Typ nach Standard auf “Windows Anwendung” steht, funktionieren das Attachen nicht ganz komplikationslos, da die Anwendung in der Konsole direkt zurückkehrt ohne aufs Ende des Prozesses zu warten. Um diese Problem wegzubekommen, muss der Projekt-Typ auf “Konsolen Anwendung” umgestellt werden.

Dieser Quellcode hat einen großen Vorteil gegenüber anderen die noch vorhanden sind, da hier beim installieren und deinstallieren das gleiche durchgeführt wird, was auch das InstallUtil Programm durchführt. Daher kann das Array welches bei Install und Deinstall übergeben wird, entsprechend der Parameter die am InstallUtil vorhanden sind erweitert werden.

(Vorne weg noch ein kleiner Tip, sollte die using-Direktive zu einer Klasse fehlen und die Klasse wurde richtig geschrieben, dann kann per [Strg]+[.] die Direktive automatisch ermittelt und hinzugefügt werden. Für den Fall das ich welche vergessen habe.)

Zuerst einmal die Konstanten und die Imports, welche innerhalb der “static class Program” eingefügt werden müssen:

const uint ATTACH_PARENT_PROCESS = 0x0ffffffff;
const int ERROR_ACCESS_DENIED = 5; // Process ist schon attached von einer anderen Konsole
[DllImport("kernel32", SetLastError = true)]
static extern bool AllocConsole();
[DllImport("kernel32", SetLastError = true)]
static extern bool FreeConsole();
[DllImport("kernel32", SetLastError = true)]
static extern bool AttachConsole(uint dwProcessID);

Die Main-Prozedur (der noch der Paramter “string[] args” hinzugefügt werden muss, wenn nicht vorhanden) muss nun folgender weise erweitert werden:

ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[] { new MyNewService() };
if (System.Environment.UserInteractive)
{
  if(!AttachConsole(ATTACH_PARENT_PROCESS) || Marshal.GetLastWin32Error() == ERROR_ACCESS_DENIED)
    AllocConsole();
  // Uebergabe Parameter
  bool install = false;
  bool uninstall = false;
  bool debug = false;
  string value = "";
  int pos = -1;
  for (int i = 0; i < args.Length; i++)
  {
    var arg = args[i];
    value = "";
    pos = arg.IndexOf('=');
    if (pos > 0)
    {
      value = arg.Substring(pos + 1);
      arg = arg.Substring(0, pos);
    }
    switch(arg.ToLower())
    {
      case "/i": install = true; break;
      case "/u": uninstall = true; break;
      case "/c": debug = true; break;
      case "/account": /*Account-Typ aus der Variable value speichern*/ break;
      case "/user": /*Benutzer aus der Variable value speichern*/ break;
      case "/passwd": /*Passwort aus der Variable value speichern*/ break;
      default:
        Console.WriteLine("Argument nicht verstanden: {0}", arg);
        break;
    }
  }
  try
  {
    if (install)
    {
      var combArgs = new string[] { Assembly.GetExecutingAssembly().Location };
      System.Configuration.Install
        .ManagedInstallerClass.InstallHelper(combArgs);
    }
    else if (uninstall)
    {
      var combArgs = new string[] { "/u", Assembly.GetExecutingAssembly().Location };
      System.Configuration.Install
        .ManagedInstallerClass.InstallHelper(combArgs);
    }
    else if (debug)
    {
      var svc = ServicesToRun[0] as MyNewService;
      svc.OnStartDebug(args);
      Console.WriteLine("[Return] fürs beenden drücken...");
      Console.ReadLine();
      svc.OnStopDebug();
    }
  }
  catch (Exception exc)
  {
    Console.WriteLine(exc.Message);
  }
  // Konsole wieder freigeben
  FreeConsole();
}
else
{
  // Wenn das Programm nicht ueber die Konsole gestartet wurde dann als Dienst starten lassen
  ServiceBase.Run(ServicesToRun);
}

Zusätzlich müssen die 2 Funktionen (OnStartDebug/OnStopDebug) angelegt werden, die einzig die gleichnamigen (ohne Debug am Ende) protected Methoden aufrufen, wenn der Debug-Modus gewünscht ist. Wenn nicht, dann einfach diesen Teil aus den obigen Quellcode entfernen.

Veröffentlicht unter C#, Windows | Verschlagwortet mit , , , | Hinterlasse einen Kommentar

Mit Munin ein Windows-System überwachen

Wichtige Informationen zu beiden Wegen

Der Name des Windowsrechners muss vom Linux System immer auflösbar sein. Wichtig ist dies bei Einstellungen in der munin.conf, das dort immer der richtige Rechnername verwendet wird. Funktioniert die Namensauflösung nicht, oder nicht richtig, dann ist es sinnvoller die Namen mit Verknüpfung auf die IP Adresse in die “/etc/hosts”-Datei einzutragen.

Alle Werte, welche mit {}-Klammern umrahmt sind, sind entsprechend durch die passenden Informationen auszutauschen und die {}-Klammern zu entfernen. Bei anderen Werten handelt es sich um feste Werte die nur bei entsprechendem Fachwissen ausgetauscht werden sollten.

Überwachen mit SNMP

Arbeiten auf Seite des Master-Servers (Debian Squezzy)

In der Datei “/etc/munin/munin.conf” muss der Name des Windowscomputers hinterlegt werden (MeineGruppe ist der Name einer frei definierbaren Gruppe [wird für Gruppenweite Einstellungsmöglichkeiten benötigt], MeinComputer ist der Rechnername von Windows. Beides ist entsprechend anzupassen):

[{MeineGruppe};{MeinComputer}]
address 127.0.0.1

Die Datei “/etc/munin/plugin-conf/munin-node” muss noch um einen Abschnitt erweitert werden, damit der munin-node weiß von welcher Addresse er die Information beziehen soll (IP ist entsprechend anzupassen, MeinComputer muss genauso wie im Abschnitt drüber angepasst werden):

[snmp_{MeinComputer}*]
env.ip {x.x.x.x}
env.port 161
env.community public

Im Verzeichnis “/usr/share/munin/plugins/” sind verschiedene Scripte für SNMP vorhanden, diese müssen nun noch in den “/etc/munin/plugins/”-Ordner gelinkt werden, mit der Namenskonvention snmp_MeinComputer_*. Damit dies nicht alles per Hand durchgeführt werden muss, existiert folgender Befehl (MeinComputer wieder entsprechend oben angegeben anpassen):

munin-node-configure -snmp {MeinComputer} --shell | sh -x

Dadurch werden Shell-Befehle ausgeben welche durch “| sh -x” direkt ausgeführt werden und alle SymLinks erstellen, welche noch nicht existieren.

Dann noch mit folgenden Befehl, den munin-node neustarten lassen und schon wurde auf Master-Seite alles durchgeführt:

/etc/init.d/munin-node restart

Arbeiten auf Seiten des Client Computers (Windows)

Windows XP

Hier muss “nur” ein SNMP-Dienst installiert werden. Dieser wird ab Windows XP von Microsoft direkt mitgeliefert und muss nur noch installiert werden. Die Installation findet man unter “Systemsteuerung”-> “Software” -> “Windows-Komponenten hinzufügen/entfernen” -> “Verwaltungs- und Überwachungsprogramme” -> “SNMP (Simple Network Management Protocol)” (Hier kann man auch gleich den “WMI SNMP-Anbieter” mit aktivieren). Hacken aktivieren und mit Ok und Weiter die Installation starten.

In der Dienste-Verwaltung (Start -> Ausführen -> “services.msc” -> OK drücken) am “SNMP-Dienst” die Eigenschaften öffnen, auf der Tabreiter “Sicherheit” den Hacken bei “Authentifizierungstrap senden” aktivieren, “SNMP-Pakete von jedem Host annehmen” aktivieren und als Communitynamen public mit Standardberechtigung erstellen wenn nicht vorhanden. Nach den verändern der Einstellung nochmal den Dienst neu starten.

Windows 7

Arbeitsschritte sind die gleichen wie bei Windows XP nur die Elemente sind anderes benannt. Die Installation ist hier unter “Systemsteuerung” -> “Programme und Funktionen” -> “Windows-Funktionen aktivieren oder deaktiveren” -> “Simple Network Managment-Protokoll (SNMP)” (auch hier kann “SNMP WMI-Anbieter” aktiviert werden).

Konfiguration und neu starten des Dienstes nicht vergessen!

Windows 2008 Server

Ebenfalls die selben Schritte. Die Installation findet man unter “Systemsteuerung” -> “Programme und Funktionen” -> “Windows-Funktionen aktivieren oder deaktiveren” -> “Server-Manager\Features” -> “Features hinfzufügen” (Rechts oben im eck) -> “SNMP-Dienst” (anwählen, dadurch werden die 2 Unterpunkte mit aktivieret) mit Weiter und Installieren die Installation starten.

Konfiguration und neu starten des Dienstes nicht vergessen!

Überwachen mit munin-node

Ich finde die Methode über munin-node angenehmer zu konfigurieren. Da hier zum größten Teil alles in der munin-node.ini-Datei (zu erstellen im Verzeichnis der Exe) auf dem Windowscomputer konfiguriert wird. Ebenso ist die Ausbeute bedeutend größer als über SNMP, da hier durch eigene Plugins sowie Performance Counter erweitert werden kann. Der einzige Nachteil, es muss eine zusätzliche Software heruntergeladen und installiert werden.

Arbeiten auf Seite des Master-Servers (Debian Squezzy)

In der Datei “/etc/munin/minun.con” folgenden eintrage hinzufügen (MeineGruppe ist der Name einer frei definierbaren Gruppe [wird für Gruppenweite Einstellungsmöglichkeiten benötigt], MeinComputer ist der Rechnername von Windows, x.x.x.x ist die IP-Adresse des abzufragen Windowsrechners. Alle 3 sind entsprechend anzupassen):

[{MeineGruppe};{MeinComputer}]
address {x.x.x.x}
use_node_name yes

Zum aktiveren jetzt noch den Dienst neustarten per:

/etc/init.d/munin-node restart

Arbeiten auf Seiten des Client Computers (Windows)

Zuerst muss “munin-node-win32″ installiert werden. Der Download ist unter http://code.google.com/p/munin-node-win32/downloads/list zu finden. Nach der Installation findet man im Installationsverzeichnis nur 2 Dateien, den Dienst selbst und eine Uninstall.exe.

Zur Konfiguration gibt es auf der oben genannten Website noch eine kleine Wiki. Hier aber mal eine vorgefertigte Version (Aufpassen bei der Codierung, muss “UTF-8 ohne BOM” sein) für ein Deutsches Windows XP (Wichtig ist hier zu beachten, das bei den PerfomanceCountern auf die Sprache zu achten ist!):

 

[Plugins]
; Plugin Section, 1 enables plugin, 0 disables
Disk=1
Memory=1
Processes=1
Network=1
MbmTemp=1
MbmVoltage=1
MbmFan=1
MbmMhz=1
SMART=1
HD=1
Cpu=1
SpeedFan=0
;uptime=1 ;Ist in den Sourcen noch nicht freigeschalten (Stand 1.6.0)
External=0
NewExternal=0
[ExternalPlugin_free]
;Command=c:\1\disk_free.py
;env.foobar=free
[DiskPlugin]
; Default Warning and Critical values for % space used
Warning=92
Critical=98
[ExternalPlugin]
; For External Plugins just add an entry with the path to the program to run
; It doesn't matter what the name of the name=value pair is
;Plugin01=C:\Users\Jory\Documents\Visual Studio Projects\munin-node\src\plugins
python\disk_free.py
[PerfCounterPlugin_disktime]
DropTotal=1
Object=Logischer Datenträger
Counter=Zeit (%)
CounterFormat=double
CounterMultiply=1.000000
GraphTitle=Disk Time
GraphCategory=disk
GraphArgs=--base 1000 -l 0
GraphDraw=LINE
[PerfCounterPlugin_processor]
DropTotal=1
Object=Prozessor
Counter=Prozessorzeit (%)
CounterFormat=double
CounterMultiply=1.000000
GraphTitle=Processor Time
GraphCategory=system
GraphArgs=--base 1000 -l 0
GraphDraw=LINE
[PerfCounterPlugin_uptime]
Object=System
Counter=Systembetriebszeit
GraphTitle=Uptime
GraphCategory=system
GraphDraw=AREA
GraphArgs=--base 1000 -l 0
DropTotal=0
CounterFormat=large
CounterMultiply=1.1574074074074073e-005
[PerfCounterPlugin_processtime]
DropTotal=1
Object=Prozess
Counter=Prozessorzeit (%)
CounterFormat=double
CounterMultiply=1.000000
GrapTitle=Processtime
GraphCategory=system
GraphDraw=AREA
GraphArgs=--base 1000 -l 0
[SpeedFanPlugin]
BroadcastIP=192.168.0.255
UID=FF671100
Veröffentlicht unter Allgemein, Linux/Unix, Windows | Verschlagwortet mit , , , , | 4 Kommentare

Benutze GIT

Hier eine kurze Beschreibung, welche Software wie installiert werden muss um mit Git gut arbeiten zu können. Ebenso werden Befehlsfolgen für die einfache Verwendung noch folgen. Sowie auch allgemeine Informationen um sich das leben zu erleichtern.

Git Server

Installation auf einen Debian Server

Am einfachsten ist es, wenn man die Konfiguration mit einem Benutzer auf dem Computer selbst durchnimmt. Dafür erzeugt man mit folgenden Befehl einen Private/Public-Key, anfallende Abfragen mit Enter bestätigen:
[bash]ssh-keygen -b 2048 -t rsa[/bash]
Den Public-Key dann in den den weiter unten angegeben Verzeichnis kopieren, damit der gitolite-Benutzer dran kommt.

Sollte bei den meisten Distributionen ähnlich funktionieren. (WICHTIG: Der Pfad in den alle Daten von gitolite gelegt werden ist der Home-Pfad des Benutzers, diesen könnte man, nach der Paket-Installation, mit dem Befehl “vipw” anpassen, aber bitte Vorsicht, damit die Datei nicht zuerstört wird, da sonst keine Anmeldung mehr funktioniert)

#Installieren der Packet
 apt-get install git gitweb gitolite python-setuptools
 # Kopiere den Haupt-Public-Key ins TempVerzeichniss
 # mit folgenden Namen: /tmp/username.pub
 # Wechsle auf den User gitolite
 su gitolite
 # Start gitolite Setup, username.pub wird Hauptadmin
 gl-setup /tmp/username.pub
 # Klone das Repo von deinem Server für weitere Einstellungen
 git clone gitolite@server:gitolite-admin

Konfiguration von gitweb

Im gitweb (“/etc/gitweb.conf”) müssen nur 2 Ornder-Pfade angepasst werden, und zwar muss die “$projectroot” auf das repositories-Verzeichnis zeigen, welches auf erster Ebene im Benutzerverzeichnis vom gitolite liegt. Und die “$projects_list” muss noch auf die Datei “projects.list” zeigen, welche im selben Verzeichnis wie das Repository liegt. Kleines Beispiel einer kompletten config, bei der das Homeverzeichnis vom gitolite unter “/srv/gitolite” liegt:

# path to git projects (<project>.git)
 $projectroot = "/srv/gitolite/repositories/";
 # directory to use for temp files
 $git_temp = "/tmp";
 # target of the home link on top of all pages
 #$home_link = $my_uri || "/";
 # html text to include at home page
 $home_text = "indextext.html";
 # file with project list; by default, simply scan the projectroot dir.
 $projects_list = "/srv/gitolite/projects.list";
 # stylesheet to use
 $stylesheet = "gitweb.css";
 # javascript code for gitweb
 $javascript = "gitweb.js";
 # logo to use
 $logo = "git-logo.png";
 # the 'favicon'
 $favicon = "git-favicon.png";

Konfiguration von gitolite

Comming soon…

Git Client

Die Verschiedenen Windows-Clients

  • git (Grundbasis, wird von den Nachfolgenden benötigt)
    Liefert eine Bash-Shell mit, in der gearbeitet wird. Für eine Shell sehr gute Anzeige der Informationen zum Repo. Zusätzlich existiert noch gitk als graphische Anzeige der Historie.
  • Git Extensions
    Mein aktueller Favorit. Ist eine eigenständige GUI, welche schön die Befehle für git kapselt. Anzeige einer History der zuletzt geöffneten Elemente, erstellen von Favoriten mit Gruppierungen, einfache Anzeige des aktuellen Branches und einfacher wechsel möglich, Gute graphische Aufbereitung des Historie, …
    Leider aktuell nur auf Englisch, aber ja nicht wirklich schlimm.
  • TortoiseGIT
    Arbeiten wie mit TortoiseSVN, fügt sich als Kontextmenu in den Explorer ein. Leider auch nur auf Englisch.

Egal welche Installation, würde ich unter Windows immer empfehlen das Putty bzw Plink benutzt werden sollte, und nicht über openssh. Putty bzw Plink harmoniert einfach viel besser mit Windows und ist schöner und einfacher zu konfigurieren. Zum weiteren ist es einfach um durch einen Proxy zu kommen.

Verschiedene Server-URL

Alle Werte in []-Klammern sind Optional. Werte in {}-Klammern sind Variablen die entsprechend von ihnen versorgt werden müssen

  • ssh://gitolite@{Server}[:{Port}]/{Projekt}
    Beispiel: ssh://gitolite@example.com:85/meinProjekt
    Beispiel: ssh://gitolite@example.com:85/Unterverzeichnis/meinProjekt
  • git://{Server}/{Projekt}
    git://example.com/meinProjekt
  • {sshUser}@{Server}:{Projekt}
    gitolite@example.com:meinProjekt
    gitolite@example.com:Unterverzeichnis/meinProjekt
  • {PuttySessionName}:{Projekt}
    Dazu im Nachfolgenden Kapitel mehr…

Verbindung mit SSH-Protokoll zum Git-Repo hinter einem Proxy

Wichtig: Der Proxy selbst darf den Port nicht blocken. Dies bedeutet, das entweder am Proxy den Port 22 nicht geblockt ist, oder man den SSH-Port auf einen nicht blockierten Port stellt. Häufig funktionieren Port 80 (http) und Port 443 (https).

Der zweite Vorteil diese Weges ist, das alle Einstellungen  im Putty vorgenommen werden und nur noch der Name der gespeicherten Session beim git clone angegeben werden muss.

Als Url wird folgender Befehl verwendet (Zur Einfachheit benutzt man häufig trotzdem den Git-Servernamen als Sessionname, also auch beim git-clone-Befehl):
git clone example.com:meinProjekt meinProjekt

Damit nun noch die ganze Verbindung durch den Proxy führt, muss Putty geöffnet werden. Dort müssen dann folgende Einstellungen unter den passenden Tabs eingestellt werden:

  • Session: Hostname und Port des Git-Servers
  • Connection->Proxy: Proxy-Type (bei mir http), Name und Port des Proxyservers, Benutzername und Passwort für die Proxyanmeldung. Alle anderen Einstellungen so lassen!
  • Connection->Data: Bei “Auto-Login username” muss gitolite eingetragen werden
  • Connection->SSH->Auth: Bei “Private key file for authentication” muss der Pfad zu ihrem Private Key Eingetragen werden.

Nun wieder auf die erste Seite zurück und bei “Saved Sessions” einen eindeutigen Namen eingeben, zur Einfachheit den des Git-Servers, in unseren Beispiel “example.com”.

Es ist sehr wichtig der Session den gleichen Namen wie beim “git clone” zu geben, weil plink so alle Einstellungen von der Putty Session findet und benutzt. Nämlich wenn Plink versucht den Rechnernamen aufzulösen, schaut es zuerst mit dem Rechnernamen auf die Namen der gespeicherten Sessions, wenn es dort nichts findet dann geht es direkt über die DNS-Auflösung.

Git Befehle

Comming soon…

Veröffentlicht unter Programmieren, Software | Verschlagwortet mit , , , , , | Hinterlasse einen Kommentar

MinGW64 auch einfacher

Nach längerem bemühen mit dem MinGW64 hab ich jetzt noch eine einfache Möglichkeit gefunden den MinGW64 zu installieren. Unter http://tdm-gcc.tdragon.net/ findet man den Installer. Es gibt verschiedene Versionen, einen für 32-Bit-Version komplett, einen für 64-Bit Version komplett und einen Webinstaller, bei dem man genau angibt was man installiert haben möchte und nur der Teil geladen wird.

Dieser zum einem aktueller als der MinGW64 (Hat aktuelle die Version 4.5.1) und kann auch Programme als 64-Bit-Version erzeugen. Und natürlich ist es viel einfacher als sich die Versionen alles selbst zusammen zu suchen und sie auszupacken. Dagegen gibt es nur einen Nachteil, das der von TDM etwas älter ist, was mir persönlich nicht wirklich stört.

Daher werde ich jetzt wohl komplett auf TDM umsteigen.

Veröffentlicht unter CPP, MinGW, Programmieren, Windows | Verschlagwortet mit , , , | 3 Kommentare

Dienst automatisch neustarten

Sollte sich ein Dienst unter Windows sporatisch verabschieden gibts hier ein kleines Batch-File das man einfach in die Geplanten Tasks hängen kann, um den Dienst wieder starten zu lassen:

@echo off
cls
set SRVNAME=VMwareHostd
for /F " tokens=1,3 usebackq delims= " %%i in (`sc query "%SRVNAME%"`) DO (
  if /i "%%i" == "state" (
    if /i "%%j" == "4" (
      goto RUNNING
    )
    goto STOPPED
  )
)
REM Nichts gefunden, dann einfach zum Ende gehen, ist wohl was schiefgelaufen
goto END
:STOPPED
echo Not Running
sc start "%SRVNAME%"
goto END
:RUNNING
echo Running
:END

Einfach beim SET den jeweiligen Dienstnamen einsetzten, schon funktioniert es. Am besten ist es wenn der Kurzname benutzt wird, mit dem funktionierts immer, mit den Anzeigenamen hab ich es noch nicht getestet.

Dann wird der Dienst automatisch wieder gestarted. Der VMware-Dienst wurde hier ausgewählt, da es schon des öfteren passiert ist das dieser Dienst sich immer mal wieder verabschiedet.

Vielen Dank an Ronny für den Tip.

Veröffentlicht unter Betriebssystem, Windows | Hinterlasse einen Kommentar