-
-
Save RC128tech/028929727e3e7627169e7ee5d8a4e879 to your computer and use it in GitHub Desktop.
Hello all UPDD users, | |
I found a better solution to reinitialize the UPDD daemon without non-macOS tools. | |
It is tested with the UPDD version 6.00.771 on Mavericks and Mojave. | |
Before installing the driver, I set the date to 01-01-2038, the UNIX End-Of-The-World-Date. | |
I'm not sure if this made any difference, but I did it. | |
This is the shell script to use: | |
#!/usr/bin/env sh | |
echo PASSWORD | sudo -S kill `ps -U root | grep [u]pdd | awk '{print $1}'` |
It took rather long to get this line together, but effectively it is a sudo kill which gets the process ID | |
using ps. The option -U root only uses the root process updd, there are also user processes starting with updd. | |
The -S option allows sudo to get the password from the echo command. Change PASSWORD to your system password. | |
After this worked sucessfully from Terminal and as script, I created a LaunchAgent: | |
This LaunchAgent starts the script every 180 seconds, so all 3 minutes the updd process is restarted. | |
You can change the value of StartInterval to your preferred restarting time in seconds. | |
If you are planning to use your touch device for a presentation, you may reduce the value. | |
<?xml version="1.0" encoding="UTF-8"?> | |
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | |
<plist version="1.0"> | |
<dict> | |
<key>Label</key> | |
<string>com.touch-base.updd.reinit.plist</string> | |
<key>Program</key> | |
<string>/Library/LaunchAgents/com.touch-base.updd.reinit.sh</string> | |
<key>ProgramArguments</key> | |
<array> | |
</array> | |
<key>StartInterval</key> | |
<integer>180</integer> | |
<key>RunAtLoad</key> | |
<true/> | |
</dict> | |
</plist> |
Below are the exact values to change in /Library/Preferences/updd/db/updd.db | |
ID amf_user | |
1 admin 2074-07-18 | |
2 local 2074-07-18 | |
3 default 2074-07-18 | |
ID updd_backup | |
468 skip_os_version_check 1 | |
482 notify.oschange.msg 0 | |
483 notify.oschange.link.win 0 | |
484 notify.oschange.link.mac 0 | |
560 registration.installable_until 2074-07-18 | |
561 registration.support_until 2074-07-18 | |
570 license.eval_click_limit 200 | |
ID updd_setting | |
468 skip_os_version_check 1 | |
482 notify.oschange.msg 0 | |
483 notify.oschange.link.win 0 | |
484 notify.oschange.link.mac 0 | |
560 registration.XXX.installable_until 2074-07-18 | |
561 registration.XXX.support_until 2074-07-18 | |
570 license.XXX.eval_click_limit 200 | |
582 claim_until 2074-07-18 | |
XXX is the three-digit number of your installation. | |
For editing I used the Application 'SQLiteBrowser'. The uupd process has not to be killed during editing. | |
I used the date 2074-07-18 instead of 2099 because this value appeared several times in the file before | |
modification. With these settings the '5 days remaining' message disappears in the UPDD Console window. | |
I also tried various values instead of the 200, every change results in '100 clicks remaining'. | |
After editing the database file, delete the contents of the db/bkup folder and restart the computer. | |
There should be no exclamataion marks in the menu bar icons. | |
When you start the UPDD console, there should be no '5 days remaining' message. | |
For testing the LaunchAgent you can open Utilities/Activity Monitor. Make sure all processes are displayed. | |
Enter updd in the search field and search for the uupd process of user root. Remember the PID. After about | |
3 Minutes the PID should change. Then everything is working. | |
Now to the manual installation. Copy the shell script and the LaunchAgent to your Desktop. | |
Change in com.touch-base.updd.reinit.sh the expression PASSWORD to your system password. | |
Then open Utilities/Terminal and set it to root with | |
sudo -s | |
and enter your password. | |
Now enter this command line to move the database file to your desktop | |
and delete the contents of the database backup folder. | |
mv /Library/Preferences/updd/db/updd.db ~/Desktop | rm -Rf /Library/Preferences/updd/db/bkup/* | |
Now edit the database file updd.db. Then copy the file back and restore the permissions: | |
cp -f ~/Desktop/updd.db /Library/Preferences/updd/db/updd.db | chown root:wheel /Library/Preferences/updd/db/updd.db | |
Now copy the LaunchAgent and the shell script to /Library/LaunchAgents | |
cp ~/Desktop/com.touch-base.updd.reinit.plist /Library/LaunchAgents/com.touch-base.updd.reinit.plist | |
cp ~/Desktop/com.touch-base.updd.reinit.sh /Library/LaunchAgents/com.touch-base.updd.reinit.sh | |
Because the shell script contains your password readable, you may set the files to invisible: | |
chflags hidden /Library/LaunchAgents/com.touch-base.updd.reinit.plist | |
chflags hidden /Library/LaunchAgents/com.touch-base.updd.reinit.sh | |
Then restore the permissions: | |
chown root:wheel /Library/LaunchAgents/com.touch-base.updd.reinit.plist | |
chown root:wheel /Library/LaunchAgents/com.touch-base.updd.reinit.sh | |
Make the shell script executable and start the LaunchAgent: | |
chmod +x /Library/LaunchAgents/com.touch-base.updd.reinit.sh | |
launchctl load -w /Library/LaunchAgents/com.touch-base.updd.reinit.plist | |
You still have the files on the Desktop, perhaps if something doesn't work. | |
Thanks to all others who worked on UPDD. | |
So i got one question so if the first thing is working do i still need to do the manual installation? No right?
There is another hack, witch that if it doesn't run UPDD-commander in the background mode, it will at least ensure that UPDD is partially functional without UPDD-Commander. (In my case, I found that there was no context menu when touched by finger to the screen and UPDD-commander was not running. But in fact, the Touch screen continued to work and interact with my program and a special controller, for which UPDD was hacked).
As a word of warning: editing the contents of applications will break their code signature, which is required for some applications to automatically work with system services like the application firewall. Without an intact code signature, the system may always ask for you to allow applications through the firewall when they are launched, which may be a bit of an inconvenience.
You Will try this method for your needs at your own risk. Do not forget to clone the original info.plist to restore functionality in same ordering:
-
You must first stop all UPDD processes by disabling permissions in:
System preferences -> privacy and security -> universal access -> (reduce all checkpoints of UPDDs processes).
And also at -> screen recording (checkpoint UPDD-commander) -
After the above manipulations, ignore the pop-up window that requires access to UPDD-commander and then:
2.1. find the location of the application "UPDD-Commander", since by location at programs -> utilities -> UPDD-Commander there will probably be an alias with the same name, but in fact it is located in the classic form along the path:
Machintosh HD -> Library -> App.Support -> UPDD -> UPDD Commander (and then):
2.2. Right-click and choose "Show Package Contents."
2.3. Navigate to the "Contents" directory within the application and open the "Info.plist" file in a text editor.
2.4. Add the following lines to the file (the easiest location is to place them immediately after the "dict" tag, before the first "key" tag at the top of the document):
<key>LSBackgroundOnly</key>
<string>True</string>
You won't be able to save the changes in this folder, so copy the info.plist file to the desktop and save the changes in a new file, then move the moded-file back to the original folder.
After that:
3. restore all permissions in the system settings and reboot the computer.
- Check the functionality of the modded version of UPDD (and monitor its functionality using the system monitoring).
4.1. If you are not satisfied with this functionality, return the old original info.plist to its original place by replacing it by copying.
Did everything like said but commander keeps popping up, any way to make it invisible at least ?