Menu

Using Triggers on Linux

Help
pete
2019-09-19
2019-09-22
  • pete

    pete - 2019-09-19

    Hi

    Linux Mint 19.2 Tina
    Keepass 2.43 portable
    I would like to copy Keepass' folder to the host every time the database has been saved and the hostname equals the name of my own computer.
    Can somebody tell me, if this can be done on linux using Triggers and if yes how? I tried "Environment variable" but no success.

    thx

     
  • Paul

    Paul - 2019-09-19

    What have you tried? Trigger details please.

    cheers, Paul

     
  • pete

    pete - 2019-09-19

    Is clipboard copy of trigger (below) fullfilling your needs?

    <triggercollection xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <triggers> <trigger> <guid>bN2SrSSmAkWrbVotd7RaSQ==</guid> <name>Lokale Kopie</name> <comments>Kopiert nach dem Aufruf der Funktion "Speichern" "Folder" rekursiv nach "Folder" wenn der Computername "Name" ist.</comments> <events> <event> <typeguid>s6j9/ngTSmqcXdW6hDqbjg==</typeguid> <parameters> <parameter>0</parameter> <parameter>/media/.../SanDisk32/...</parameter> </parameters> </event> </events> <conditions> <condition> <typeguid>nxHQvezpRTulRSYf96T/Hw==</typeguid> <parameters> <parameter>hostname</parameter> <parameter>0</parameter> <parameter>Name</parameter> </parameters> <negate>false</negate> </condition> </conditions> <actions> <action> <typeguid>tkamn96US7mbrjykfswQ6g==</typeguid> <parameters> <parameter> <parameter>0</parameter> </parameter></parameters> </action> <action> <typeguid>CfePcyTsT+yItiXVMPQ0bg==</typeguid> <parameters> <parameter> <parameter>Test</parameter> <parameter>0</parameter> <parameter>0</parameter> <parameter>0</parameter> <parameter>0</parameter> <parameter>0</parameter> <parameter> </parameter></parameter></parameters> </action> <action> <typeguid>tkamn96US7mbrjykfswQ6g==</typeguid> <parameters> <parameter> <parameter>1</parameter> </parameter></parameters> </action> </actions> </trigger> </triggers> </triggercollection>
     
  • Paul

    Paul - 2019-09-20

    Your trigger seems to have format problems in the paramters. How did you create the trigger?

    <action>
        <typeguid>CfePcyTsT+yItiXVMPQ0bg==</typeguid>
        <parameters>
            <parameter>
            <parameter>Test</parameter>
            <parameter>0</parameter>
            <parameter>0</parameter>
            <parameter>0</parameter>
            <parameter>0</parameter>
            <parameter>0</parameter>
            <parameter>
            </parameter>
            </parameter>
        </parameters>
    </action>
    

    I've created this timed message test to see if the environment variable works. It runs every 10 seconds.
    Close KeePass, change the hostname in the trigger and paste it into the trigger section of your config file. It should show up and allow you to edit /disable it after the test.

    <?xml version="1.0" encoding="utf-8"?>
    <TriggerCollection xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
        <Triggers>
            <Trigger>
                <Guid>6QJ5DAtX/ESTgo7L/1WUdA==</Guid>
                <Name>Timed message</Name>
                <Events>
                    <Event>
                        <TypeGuid>bES7XfGLTA2IzmXm6a0pig==</TypeGuid>
                        <Parameters>
                            <Parameter>10</Parameter>
                            <Parameter>False</Parameter>
                        </Parameters>
                    </Event>
                </Events>
                <Conditions>
                    <Condition>
                        <TypeGuid>nxHQvezpRTulRSYf96T/Hw==</TypeGuid>
                        <Parameters>
                            <Parameter>hostname</Parameter>
                            <Parameter>0</Parameter>
                            <Parameter>name</Parameter>
                        </Parameters>
                        <Negate>false</Negate>
                    </Condition>
                </Conditions>
                <Actions>
                    <Action>
                        <TypeGuid>CfePcyTsT+yItiXVMPQ0bg==</TypeGuid>
                        <Parameters>
                            <Parameter>10 second timer</Parameter>
                            <Parameter>$hostname</Parameter>
                            <Parameter>0</Parameter>
                            <Parameter>0</Parameter>
                            <Parameter>0</Parameter>
                            <Parameter>0</Parameter>
                            <Parameter>0</Parameter>
                            <Parameter />
                        </Parameters>
                    </Action>
                </Actions>
            </Trigger>
        </Triggers>
    </TriggerCollection>
    

    I've edited your original trigger to fix the formatting. It pastes into KeePass and seems to be OK.

    <?xml version="1.0" encoding="utf-8"?>
    <TriggerCollection xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
        <Triggers>
            <Trigger>
                <Guid>bN2SrSSmAkWrbVotd7RaSQ==</Guid>
                <Name>Lokale Kopie</Name>
                <Comments>Kopiert nach dem Aufruf der Funktion "Speichern" "Folder" rekursiv nach "Folder" wenn der ComputerName "Name" ist.</Comments>
                <Events>
                    <Event>
                        <TypeGuid>s6j9/ngTSmqcXdW6hDqbjg==</TypeGuid>
                            <Parameters>
                                <Parameter>0</Parameter>
                                <Parameter>/media/.../SanDisk32/...</Parameter>
                            </Parameters>
                    </Event>
                </Events>
                <Conditions>
                    <Condition>
                        <TypeGuid>nxHQvezpRTulRSYf96T/Hw==</TypeGuid>
                        <Parameters>
                            <Parameter>hostName</Parameter>
                            <Parameter>0</Parameter>
                            <Parameter>Name</Parameter>
                        </Parameters>
                        <Negate>false</Negate>
                    </Condition>
                </Conditions>
                <Actions>
                    <Action>
                        <TypeGuid>tkamn96US7mbrjykfswQ6g==</TypeGuid>
                        <Parameters>
                            <Parameter>0</Parameter>
                        </Parameters>
                    </Action>
                    <Action>
                        <TypeGuid>CfePcyTsT+yItiXVMPQ0bg==</TypeGuid>
                        <Parameters>
                            <Parameter>Test</Parameter>
                            <Parameter>0</Parameter>
                            <Parameter>0</Parameter>
                            <Parameter>0</Parameter>
                            <Parameter>0</Parameter>
                            <Parameter>0</Parameter>
                        </Parameters>
                    </Action>
                    <Action>
                        <TypeGuid>tkamn96US7mbrjykfswQ6g==</TypeGuid>
                        <Parameters>
                            <Parameter>1</Parameter>
                        </Parameters>
                    </Action>
                </Actions>
            </Trigger>
        </Triggers>
    </TriggerCollection>
    
     
  • pete

    pete - 2019-09-20

    I created throug Keepass GUI but <action> not yet declared.</action>

    Your "timed message" example does not work. I replaced the content of "Value" field from "Environment Variable" with the Name of my computer. Nothing happens.
    When I set "Condition" to "Not (negate result of condition below)", message box is showing up (Att.).

    I appreciate your help.

    Cheers
    pete

     
  • Paul

    Paul - 2019-09-20

    I don't have a Linux machine to test the EVs so this is a guess.
    Replace $hostname with %hostname%, or similar. Also try $home.

    cheers, Paul

     
  • pete

    pete - 2019-09-21

    Paul

    Unsuccessfully tried all and a lot more. I managed to se my computers name on the output with your "timed message" having set "Trigger/actions/Show message box/Text" to "{CMD:°hostname°M=C°}". But using the same entry on "Trigger/Conditions/Environment variable/Name" does not work. It's a pitty.

    Cheers pete

     

    Last edit: pete 2019-09-21
  • pete

    pete - 2019-09-21

    Paul

    On a mind lightning I just tried the entry on "Trigger/Conditions/String/String" and wow... it's working :-)

    cheers pete

     
  • Paul

    Paul - 2019-09-22

    What did you use in the string fields?

    cheers, Paul

     
  • pete

    pete - 2019-09-22

    Paul

    "{CMD:°hostname°M=C°}"

    Because this returned the name of my computer when used in "Trigger/Actions/Show message box/Text" in your "Timed message" trigger, mind flash was to try this on "Trigger/Conditions/String /String" of my "Lokale Kopie" Trigger. This actually works like expected and does what I want :)

    <?xml version="1.0" encoding="utf-8"?>
    <TriggerCollection xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
        <Triggers>
            <Trigger>
                <Guid>bN2SrSSmAkWrbVotd7RaSQ==</Guid>
                <Name>Lokale Kopie</Name>
                <Comments>Kopiert nach dem Aufruf der Funktion "Speichern" "/media/.../SanDisk32/..." rekursiv nach "/home/.../.<Folder>", wenn der Computername "..." ist.</Comments>
                <Events>
                    <Event>
                        <TypeGuid>s6j9/ngTSmqcXdW6hDqbjg==</TypeGuid>
                        <Parameters>
                            <Parameter>0</Parameter>
                            <Parameter />
                        </Parameters>
                    </Event>
                </Events>
                <Conditions>
                    <Condition>
                        <TypeGuid>uQ/4B3M4T+q7LrwL6juYww==</TypeGuid>
                        <Parameters>
                            <Parameter>{CMD:°hostname°M=C°}</Parameter>
                            <Parameter>0</Parameter>
                            <Parameter>...</Parameter>
                        </Parameters>
                        <Negate>false</Negate>
                    </Condition>
                </Conditions>
                <Actions>
                    <Action>
                        <TypeGuid>2uX4OwcwTBOe7y66y27kxw==</TypeGuid>
                        <Parameters>
                            <Parameter>cp</Parameter>
                            <Parameter>-R /media/.../SanDisk32/... /home/../</Parameter>
                            <Parameter>True</Parameter>
                            <Parameter>0</Parameter>
                            <Parameter />
                        </Parameters>
                    </Action>
                    <Action>
                        <TypeGuid>2uX4OwcwTBOe7y66y27kxw==</TypeGuid>
                        <Parameters>
                            <Parameter>mv</Parameter>
                            <Parameter>/home/.../... /home/chief/.Folder</Parameter>
                            <Parameter>True</Parameter>
                            <Parameter>0</Parameter>
                            <Parameter />
                        </Parameters>
                    </Action>
                </Actions>
            </Trigger>
        </Triggers>
    </TriggerCollection>
    

    Thank you for supporting me.

    cheers pete

     

Log in to post a comment.