{"id":6987,"date":"2024-05-16T17:06:51","date_gmt":"2024-05-16T22:06:51","guid":{"rendered":"https:\/\/www.logikalsolutions.com\/wordpress\/?p=6987"},"modified":"2024-06-02T15:43:36","modified_gmt":"2024-06-02T20:43:36","slug":"evolution-2","status":"publish","type":"post","link":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/evolution-2\/","title":{"rendered":"Synchronizing Evolution"},"content":{"rendered":"\n<p>It&#8217;s kind of quaint to think of running Evolution PIM on just one computer so you never have to synchronize anything. When I see Apple Cult members trying to do everything on just a phone or just their tablet or one of those massively overpriced (and fragile) laptops I laugh. You are <em>not<\/em> a professional!<\/p>\n\n\n\n<p>When working on PC software, you generally need 6-8 machines. Yes, one of them will have at least 8 VMs on it and be enough of a machine to run any 4 of them at the same time, but you need physical hardware. It is impossible to test and develop otherwise. Everything you create will be shit. Software needs to run <em>on the hardware<\/em> with different operating systems, video cards, and drivers.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The Sync Problem<\/h2>\n\n\n\n<p>Keeping your email in sync is no big deal. When using IMAP instead of POP it is all hosted on the server. Everything else is the problem. Contacts, to-do lists, calendar entries, and memos. Corporations pay through the nose for Microsoft Exchange so they can keep email and address books in sync centrally, but if you put it on the Internet, Russia already has it. When MBAs run Internet companies your data is at complete risk. Read up on <a href=\"https:\/\/interestingauthors.com\/blog\/technology\/solarwinds-and-russian-caviar\/\">SolarWindws<\/a> some time.<\/p>\n\n\n\n<p>When I&#8217;m working in my office I can spend hours, usually days, off my &#8220;primary&#8221; development machine shaking things out on different platforms. I need to keep Evolution in sync. Yes, there are services out their but they want me to pay something like $50\/year to have more than 50 contacts or some other necessity. Besides, see comment above about things on the Internet.<\/p>\n\n\n\n<p>Message to &#8220;priced right&#8221; developers:   <em><strong><a href=\"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/you-are-the-security-breach\/\">You are the security breach!<\/a><\/strong><\/em><\/p>\n\n\n\n<p>Message to MBAs:  <strong><em><a href=\"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/hackers\/\">The most expensive thing you have is cheap labor!<\/a><\/em><\/strong><\/p>\n\n\n\n<p>Thankfully there is a tool to sync your local network machines. Regrettably, it is a shining example of why 12 year old boys should <em>not<\/em> be allowed to package things. Yes Virginia, #AGILESucks and TDD is most definitely <em>not<\/em> testing.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The Journey<\/h2>\n\n\n\n<p>Everything I found, including the &#8220;official&#8221; documentation for SyncEvolution is &#8220;expert friendly.&#8221; Forget about those new trendy GUI software installers that look in FlatHub, etc. You need Synaptic Package Manager. <\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"1024\" height=\"179\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-201-1024x179.png\" alt=\"\" class=\"wp-image-6989\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-201-1024x179.png 1024w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-201-300x52.png 300w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-201-768x134.png 768w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-201.png 1049w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<p>If you are going to risk putting your personal information on the Internet, the sync-ui package is for you. It might even work. You can skip the bulk of this.<\/p>\n\n\n\n<p>Everyone else read on.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">The Packaging Sucks!<\/h3>\n\n\n\n<p>I installed and tested this on Debian 12 with all updates applied. Unless a downstream distro has their own maintainer, they all have the same sucky syncevolution package. I tried following the &#8220;official&#8221; instructions from <a href=\"https:\/\/syncevolution.org\/wiki\/synchronizing-evolution-http-howto\/\">here<\/a>. The packager should have tried them as well.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"797\" height=\"37\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-103.png\" alt=\"\" class=\"wp-image-6990\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-103.png 797w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-103-300x14.png 300w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-103-768x36.png 768w\" sizes=\"(max-width: 797px) 100vw, 797px\" \/><\/figure>\n<\/div>\n\n\n<p>I create medical devices and work on real computers, even went and got an actual degree in CIS. No matter how big of a fan you are of Python, I don&#8217;t consider it a real language. <strong>Real languages are type-safe!<\/strong><\/p>\n\n\n\n<p>This just keeps getting more &#8220;user friendly&#8221; as you go.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"477\" height=\"504\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-102.png\" alt=\"\" class=\"wp-image-6991\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-102.png 477w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-102-284x300.png 284w\" sizes=\"(max-width: 477px) 100vw, 477px\" \/><figcaption class=\"wp-element-caption\">top of syncevo-http-server file<\/figcaption><\/figure>\n<\/div>\n\n\n<p>I&#8217;ve been on Linux a long time. While it is possible I was suffering from head-up-ass syndrome, when I saw the error message I went around looking for new <strong>shebang<\/strong> features. Ordinarily, if you need an interpreter for a script you start with <\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Deja-Vu-Mono.ttf\" style=\"font-size:.875rem;font-family:Code-Pro-Deja-Vu-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#b392f0;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1f1f1f\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"#!\/bin\/bash\" style=\"color:#b392f0;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki min-dark\" style=\"background-color: #1f1f1f\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #6B737C\">#!\/bin\/bash<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Then you load your interpreter via some environment variable which may have a default value in the script. Python developers have been doing <\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Deja-Vu-Mono.ttf\" style=\"font-size:.875rem;font-family:Code-Pro-Deja-Vu-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#b392f0;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1f1f1f\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"#!\/usr\/bin\/python\" style=\"color:#b392f0;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki min-dark\" style=\"background-color: #1f1f1f\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #6B737C\">#!\/usr\/bin\/python<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>for years. That got them into all kinds of trouble during the transition from Python 2 to 3. Lots of tools and games played making \/usr\/bin\/pythin a symbolic link pointing to which version you wanted to run. Too bad stuff running in background wanted one version and what you were trying to do wanted another. Something was definitely going to crash. I changed the installed file.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"502\" height=\"111\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-15.png\" alt=\"\" class=\"wp-image-6992\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-15.png 502w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-15-300x66.png 300w\" sizes=\"(max-width: 502px) 100vw, 502px\" \/><\/figure>\n<\/div>\n\n\n<p>Debian 12 has only python3. The packager should have fixed this.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"707\" height=\"90\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-002.png\" alt=\"\" class=\"wp-image-6999\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-002.png 707w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-002-300x38.png 300w\" sizes=\"(max-width: 707px) 100vw, 707px\" \/><\/figure>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\">Learn to Identify Dependencies<\/h3>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"986\" height=\"112\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-005.png\" alt=\"\" class=\"wp-image-6993\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-005.png 986w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-005-300x34.png 300w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-005-768x87.png 768w\" sizes=\"(max-width: 986px) 100vw, 986px\" \/><\/figure>\n<\/div>\n\n\n<p>You should have this in case something wants \/usr\/bin\/python to actually work.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"967\" height=\"104\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-006.png\" alt=\"\" class=\"wp-image-6994\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-006.png 967w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-006-300x32.png 300w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-006-768x83.png 768w\" sizes=\"(max-width: 967px) 100vw, 967px\" \/><\/figure>\n<\/div>\n\n\n<p>Yes, they don&#8217;t even make pip a dependency. That&#8217;s how lots of people install Python packages. After hacking the system installed script and installing the above, I got this far.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"741\" height=\"236\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-004.png\" alt=\"\" class=\"wp-image-6995\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-004.png 741w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-004-300x96.png 300w\" sizes=\"(max-width: 741px) 100vw, 741px\" \/><\/figure>\n<\/div>\n\n\n<p>It&#8217;s just inexcusable!<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"477\" height=\"504\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-102-1.png\" alt=\"\" class=\"wp-image-6996\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-102-1.png 477w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-102-1-284x300.png 284w\" sizes=\"(max-width: 477px) 100vw, 477px\" \/><\/figure>\n<\/div>\n\n\n<p>They didn&#8217;t make any of the imports a dependency.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"857\" height=\"105\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-007.png\" alt=\"\" class=\"wp-image-6997\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-007.png 857w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-007-300x37.png 300w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-007-768x94.png 768w\" sizes=\"(max-width: 857px) 100vw, 857px\" \/><\/figure>\n<\/div>\n\n\n<p>The twisted package installs a lot of stuff.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"1024\" height=\"100\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-011-1024x100.png\" alt=\"\" class=\"wp-image-6998\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-011-1024x100.png 1024w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-011-300x29.png 300w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-011-768x75.png 768w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-011-1200x117.png 1200w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-011.png 1332w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<p>Finally, it works. Leave it running in terminal for now.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">On the Client<\/h3>\n\n\n\n<p>Just install syncevolution and whatever it pulls in with it.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Deja-Vu-Mono.ttf\" style=\"font-size:.875rem;font-family:Code-Pro-Deja-Vu-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#b392f0;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1f1f1f\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"syncevolution --configure --template SyncEvolution syncURL=http:\/\/192.168.1.15:9000\/syncevolution z2g4debian\" style=\"color:#b392f0;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki min-dark\" style=\"background-color: #1f1f1f\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #B392F0\">syncevolution <\/span><span style=\"color: #9DB1C5\">--configure<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #9DB1C5\">--template<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #9DB1C5\">SyncEvolution<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #9DB1C5\">syncURL=http:\/\/192.168.1.15:9000\/syncevolution<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #9DB1C5\">z2g4debian<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Don&#8217;t just cut and paste that. You need the ip address of your server (unless you have it configured by name in your local DNS server). I used the machine hostname for the name at the end. Once it completes successfully you are ready for the first necessary failure.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1019\" height=\"654\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-101.png\" alt=\"\" class=\"wp-image-7000\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-101.png 1019w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-101-300x193.png 300w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-101-768x493.png 768w\" sizes=\"(max-width: 1019px) 100vw, 1019px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Back on the Server<\/h3>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"1024\" height=\"253\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-013-1024x253.png\" alt=\"\" class=\"wp-image-7001\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-013-1024x253.png 1024w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-013-300x74.png 300w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-013-768x190.png 768w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-013-1200x297.png 1200w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-013.png 1306w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<p>You need the string starting with &#8220;syncevolution-&#8221; all the way to the end. Scrape it and save it into a text editor. Open another terminal window. Do not kill off this window or process.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"817\" height=\"361\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-012-1.png\" alt=\"\" class=\"wp-image-7003\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-012-1.png 817w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-012-1-300x133.png 300w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-012-1-768x339.png 768w\" sizes=\"(max-width: 817px) 100vw, 817px\" \/><\/figure>\n<\/div>\n\n\n<p>You need the above &#8211;configure command with your saved deviceID pasted in. The last line is the name of the device configuration. I did not configure a username or password for this example. I&#8217;m on a local network.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Back on the Client<\/h3>\n\n\n\n<p>Repeat your syncevolution command. Odds are it will fail, but you might have the luck of the Irish. I had to do the following:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Deja-Vu-Mono.ttf\" style=\"font-size:.875rem;font-family:Code-Pro-Deja-Vu-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#b392f0;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1f1f1f\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"syncevolution --sync slow z2g4debian addressbook calendar todo\" style=\"color:#b392f0;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki min-dark\" style=\"background-color: #1f1f1f\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #B392F0\">syncevolution <\/span><span style=\"color: #9DB1C5\">--sync<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #9DB1C5\">slow<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #9DB1C5\">z2g4debian<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #9DB1C5\">addressbook<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #9DB1C5\">calendar<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #9DB1C5\">todo<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>You will get a lot of &#8220;impossible to compare&#8221; messages, but it should work. The nice part about this is I can now point out the fact you get to choose what you sync in evolution. You might only need to sync your evolution addressbook, or todo list.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Make Sync Server Permanent<\/h2>\n\n\n\n<p>Debian doesn&#8217;t give you good ways of adding autostart programs that are poorly packaged. Since everyone installs the &#8220;flashback&#8221; package to get a usable desktop (Gnome 3 is completely unusable) this gets a bit more difficult. Create a desktop entry file and store it in ~\/.config\/autostart\/sync-evolution.desktop<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"920\" height=\"224\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-010.png\" alt=\"\" class=\"wp-image-7004\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-010.png 920w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-010-300x73.png 300w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-010-768x187.png 768w\" sizes=\"(max-width: 920px) 100vw, 920px\" \/><\/figure>\n<\/div>\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Deja-Vu-Mono.ttf\" style=\"font-size:.875rem;font-family:Code-Pro-Deja-Vu-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#b392f0;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1f1f1f\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"sudo nano \/usr\/local\/bin\/start_evolution_sync_server.sh\" style=\"color:#b392f0;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki min-dark\" style=\"background-color: #1f1f1f\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #B392F0\">sudo <\/span><span style=\"color: #9DB1C5\">nano<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #9DB1C5\">\/usr\/local\/bin\/start_evolution_sync_server.sh<\/span><\/span><\/code><\/pre><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"659\" height=\"150\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-001.png\" alt=\"\" class=\"wp-image-7005\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-001.png 659w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-001-300x68.png 300w\" sizes=\"(max-width: 659px) 100vw, 659px\" \/><\/figure>\n<\/div>\n\n\n<p>Restart your computer and then use one of the system monitor utilities to see what is running.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"719\" height=\"89\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-009.png\" alt=\"\" class=\"wp-image-7006\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-009.png 719w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-009-300x37.png 300w\" sizes=\"(max-width: 719px) 100vw, 719px\" \/><\/figure>\n<\/div>\n\n\n<p>Now you can sync when you want.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Summary<\/h2>\n\n\n\n<p>The sync package doesn&#8217;t get updated that often. Then again, the databases probably don&#8217;t change structure that often. <strong><em>Packaging of this utility most definitely sucks!<\/em><\/strong><\/p>\n\n\n\n<p>While the .desktop hack will work for most, this really should have come bundled with systemctl service files so it could be enabled, started, and stopped in a clean manner. Given the age of the package, the state of the packaging really is inexcusable.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Update June 2, 2024<\/h2>\n\n\n\n<p>Tired of having to edit the configuration every time you reboot the server machine? Given <a href=\"https:\/\/community.netgear.com\/t5\/Nighthawk-Wi-Fi-5-AC-Routers\/New-R7900P-R7960P-R8000P-Firmware-Version-1-4-4-94-Released\/td-p\/2262221\">Netgear has had an inexcusable bug blocking reserving of IP addresses<\/a> in many\/most of their most popular routers for going on two years now, you can&#8217;t use that tried and true method.<\/p>\n\n\n\n<p>I really don&#8217;t know why Linux distros simply don&#8217;t install this by default.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Deja-Vu-Mono.ttf\" style=\"font-size:.875rem;font-family:Code-Pro-Deja-Vu-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#b392f0;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1f1f1f\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"sudo apt-get install libnss-winbind\" style=\"color:#b392f0;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki min-dark\" style=\"background-color: #1f1f1f\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #B392F0\">sudo <\/span><span style=\"color: #9DB1C5\">apt-get<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #9DB1C5\">install<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #9DB1C5\">libnss-winbind<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Once installed you need to <\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Deja-Vu-Mono.ttf\" style=\"font-size:.875rem;font-family:Code-Pro-Deja-Vu-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#b392f0;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1f1f1f\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"sudo nano \/etc\/nsswitch.conf\" style=\"color:#b392f0;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki min-dark\" style=\"background-color: #1f1f1f\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #B392F0\">sudo <\/span><span style=\"color: #9DB1C5\">nano<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #9DB1C5\">\/etc\/nsswitch.conf<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Make it look like this.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"652\" height=\"384\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/06\/nsswitch-config-001.png\" alt=\"\" class=\"wp-image-7017\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/06\/nsswitch-config-001.png 652w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/06\/nsswitch-config-001-300x177.png 300w\" sizes=\"(max-width: 652px) 100vw, 652px\" \/><\/figure>\n<\/div>\n\n\n<p>Note that &#8220;winbind&#8221; was added to passwd and group. &#8220;wins&#8221; was added to hosts.<\/p>\n\n\n\n<p>Now, either start or restart winbind<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Deja-Vu-Mono.ttf\" style=\"font-size:.875rem;font-family:Code-Pro-Deja-Vu-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#b392f0;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1f1f1f\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"sudo service winbind start\n# or if it was already running for some reason\nsudo service winbind restart\" style=\"color:#b392f0;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki min-dark\" style=\"background-color: #1f1f1f\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #B392F0\">sudo <\/span><span style=\"color: #9DB1C5\">service<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #9DB1C5\">winbind<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #9DB1C5\">start<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6B737C\"># or if it was already running for some reason<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">sudo <\/span><span style=\"color: #9DB1C5\">service<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #9DB1C5\">winbind<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #9DB1C5\">restart<\/span><\/span><\/code><\/pre><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"625\" height=\"340\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/06\/ping-by-name.png\" alt=\"\" class=\"wp-image-7018\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/06\/ping-by-name.png 625w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/06\/ping-by-name-300x163.png 300w\" sizes=\"(max-width: 625px) 100vw, 625px\" \/><\/figure>\n<\/div>\n\n\n<p>Now we need to change our command file.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Deja-Vu-Mono.ttf\" style=\"font-size:.875rem;font-family:Code-Pro-Deja-Vu-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#b392f0;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1f1f1f\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"cd bin\nnano sync_email\" style=\"color:#b392f0;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki min-dark\" style=\"background-color: #1f1f1f\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #B392F0\">cd <\/span><span style=\"color: #9DB1C5\">bin<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">nano <\/span><span style=\"color: #9DB1C5\">sync_email<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>We need to use bash shell instead of sh, mainly because I was too lazy to look up how to do the array thing under sh.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Deja-Vu-Mono.ttf\" style=\"font-size:.875rem;font-family:Code-Pro-Deja-Vu-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#b392f0;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1f1f1f\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"#!\/bin\/bash\n#\n# Find out where DHCP put the server this time\n#\nSERVER_ADDRESS=$(wbinfo -N z2g4debian)\nSERVER_ARRAY=($SERVER_ADDRESS)\n#\nsyncevolution --run --sync-property syncURL=http:\/\/${SERVER_ARRAY[0]}:9000\/syncevolution --sync slow z2g4debian  addressbook calendar todo\n\" style=\"color:#b392f0;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki min-dark\" style=\"background-color: #1f1f1f\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #6B737C\">#!\/bin\/bash<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6B737C\">#<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6B737C\"># Find out where DHCP put the server this time<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6B737C\">#<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">SERVER_ADDRESS<\/span><span style=\"color: #F97583\">=<\/span><span style=\"color: #FFAB70\">$(<\/span><span style=\"color: #B392F0\">wbinfo<\/span><span style=\"color: #FFAB70\"> <\/span><span style=\"color: #9DB1C5\">-N<\/span><span style=\"color: #FFAB70\"> <\/span><span style=\"color: #9DB1C5\">z2g4debian<\/span><span style=\"color: #FFAB70\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">SERVER_ARRAY<\/span><span style=\"color: #F97583\">=<\/span><span style=\"color: #B392F0\">($SERVER_ADDRESS)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6B737C\">#<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">syncevolution <\/span><span style=\"color: #9DB1C5\">--run<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #9DB1C5\">--sync-property<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #9DB1C5\">syncURL=http:\/\/<\/span><span style=\"color: #B392F0\">${SERVER_ARRAY[0]}<\/span><span style=\"color: #9DB1C5\">:9000\/syncevolution<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #9DB1C5\">--sync<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #9DB1C5\">slow<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #9DB1C5\">z2g4debian<\/span><span style=\"color: #B392F0\">  <\/span><span style=\"color: #9DB1C5\">addressbook<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #9DB1C5\">calendar<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #9DB1C5\">todo<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<p>We only need to do this because Netgear has a bug. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>It&#8217;s kind of quaint to think of running Evolution PIM on just one computer so you never have to synchronize anything. When I see Apple Cult members trying to do everything on just a phone or just their tablet or one of those massively overpriced (and fragile) laptops I laugh. You are not a professional! When working on PC software, you generally need 6-8 machines. Yes, one of them will have at least 8 VMs &hellip; <a title=\"Synchronizing Evolution\" class=\"bnm-read-more\" href=\"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/evolution-2\/\"><span class=\"screen-reader-text\">Synchronizing Evolution<\/span>Read more<\/a><\/p>\n","protected":false},"author":2,"featured_media":6988,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[1549,2226,219,1894,2225,2224,2223,1467],"class_list":["post-6987","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-information-technology","tag-agilesucks","tag-bad-interpreter","tag-evolution","tag-python","tag-shebang","tag-syncevolution","tag-task-synchronization","tag-tdd","bnm-entry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Synchronizing Evolution &#8211; Logikal Blog everything on just a phone or just their tablet or one of those massively overpriced (and<\/title>\n<meta name=\"description\" content=\"It&#039;s kind of quaint to think of running Evolution PIM on just one computer so you never have to synchronize anything. When I see . . .\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/evolution-2\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Synchronizing Evolution &#8211; Logikal Blog everything on just a phone or just their tablet or one of those massively overpriced (and\" \/>\n<meta property=\"og:description\" content=\"It&#039;s kind of quaint to think of running Evolution PIM on just one computer so you never have to synchronize anything. When I see . . .\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/evolution-2\/\" \/>\n<meta property=\"og:site_name\" content=\"Logikal Blog\" \/>\n<meta property=\"article:published_time\" content=\"2024-05-16T22:06:51+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-06-02T20:43:36+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-200.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1388\" \/>\n\t<meta property=\"og:image:height\" content=\"758\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"seasoned_geek\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"seasoned_geek\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/evolution-2\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/evolution-2\\\/\"},\"author\":{\"name\":\"seasoned_geek\",\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/#\\\/schema\\\/person\\\/c077f770ade13de7faaf616c3eac6842\"},\"headline\":\"Synchronizing Evolution\",\"datePublished\":\"2024-05-16T22:06:51+00:00\",\"dateModified\":\"2024-06-02T20:43:36+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/evolution-2\\\/\"},\"wordCount\":1236,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/#\\\/schema\\\/person\\\/c077f770ade13de7faaf616c3eac6842\"},\"image\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/evolution-2\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2024\\\/05\\\/evolution-sync-200.png\",\"keywords\":[\"#AGILESucks\",\"bad interpreter\",\"Evolution\",\"Python\",\"shebang\",\"syncevolution\",\"task synchronization\",\"TDD\"],\"articleSection\":[\"Information Technology\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/evolution-2\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/evolution-2\\\/\",\"url\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/evolution-2\\\/\",\"name\":\"Synchronizing Evolution &#8211; Logikal Blog everything on just a phone or just their tablet or one of those massively overpriced (and\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/evolution-2\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/evolution-2\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2024\\\/05\\\/evolution-sync-200.png\",\"datePublished\":\"2024-05-16T22:06:51+00:00\",\"dateModified\":\"2024-06-02T20:43:36+00:00\",\"description\":\"It's kind of quaint to think of running Evolution PIM on just one computer so you never have to synchronize anything. When I see . . .\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/evolution-2\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/evolution-2\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/evolution-2\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2024\\\/05\\\/evolution-sync-200.png\",\"contentUrl\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2024\\\/05\\\/evolution-sync-200.png\",\"width\":1388,\"height\":758},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/evolution-2\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Synchronizing Evolution\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/#website\",\"url\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/\",\"name\":\"Logikal Blog\",\"description\":\"For people with attention spans longer than a Tweet\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/#\\\/schema\\\/person\\\/c077f770ade13de7faaf616c3eac6842\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/#\\\/schema\\\/person\\\/c077f770ade13de7faaf616c3eac6842\",\"name\":\"seasoned_geek\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ae9adac14079d84b909e635d7af986fe4568053af4fd9ff8d4109298c392493e?s=96&d=mm&r=r\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ae9adac14079d84b909e635d7af986fe4568053af4fd9ff8d4109298c392493e?s=96&d=mm&r=r\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ae9adac14079d84b909e635d7af986fe4568053af4fd9ff8d4109298c392493e?s=96&d=mm&r=r\",\"caption\":\"seasoned_geek\"},\"logo\":{\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ae9adac14079d84b909e635d7af986fe4568053af4fd9ff8d4109298c392493e?s=96&d=mm&r=r\"},\"description\":\"Roland Hughes started his IT career in the early 1980s. He quickly became a consultant and president of Logikal Solutions, a software consulting firm specializing in OpenVMS application and C++\\\/Qt touchscreen\\\/embedded Linux development. Early in his career he became involved in what is now called cross platform development. Given the dearth of useful books on the subject he ventured into the world of professional author in 1995 writing the first of the \\\"Zinc It!\\\" book series for John Gordon Burke Publisher, Inc. A decade later he released a massive (nearly 800 pages) tome \\\"The Minimum You Need to Know to Be an OpenVMS Application Developer\\\" which tried to encapsulate the essential skills gained over what was nearly a 20 year career at that point. From there \\\"The Minimum You Need to Know\\\" book series was born. Three years later he wrote his first novel \\\"Infinite Exposure\\\" which got much notice from people involved in the banking and financial security worlds. Some of the attacks predicted in that book have since come to pass. While it was not originally intended to be a trilogy, it became the first book of \\\"The Earth That Was\\\" trilogy: Infinite Exposure Lesedi - The Greatest Lie Ever Told John Smith - Last Known Survivor of the Microsoft Wars When he is not consulting Roland Hughes posts about technology and sometimes politics on his blog. He also has regularly scheduled Sunday posts appearing on the Interesting Authors blog.\",\"sameAs\":[\"https:\\\/\\\/theminimumyouneedtoknow.com\"],\"url\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/author\\\/seasoned_geek\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Synchronizing Evolution &#8211; Logikal Blog everything on just a phone or just their tablet or one of those massively overpriced (and","description":"It's kind of quaint to think of running Evolution PIM on just one computer so you never have to synchronize anything. When I see . . .","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/evolution-2\/","og_locale":"en_US","og_type":"article","og_title":"Synchronizing Evolution &#8211; Logikal Blog everything on just a phone or just their tablet or one of those massively overpriced (and","og_description":"It's kind of quaint to think of running Evolution PIM on just one computer so you never have to synchronize anything. When I see . . .","og_url":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/evolution-2\/","og_site_name":"Logikal Blog","article_published_time":"2024-05-16T22:06:51+00:00","article_modified_time":"2024-06-02T20:43:36+00:00","og_image":[{"width":1388,"height":758,"url":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-200.png","type":"image\/png"}],"author":"seasoned_geek","twitter_card":"summary_large_image","twitter_misc":{"Written by":"seasoned_geek","Est. reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/evolution-2\/#article","isPartOf":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/evolution-2\/"},"author":{"name":"seasoned_geek","@id":"https:\/\/www.logikalsolutions.com\/wordpress\/#\/schema\/person\/c077f770ade13de7faaf616c3eac6842"},"headline":"Synchronizing Evolution","datePublished":"2024-05-16T22:06:51+00:00","dateModified":"2024-06-02T20:43:36+00:00","mainEntityOfPage":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/evolution-2\/"},"wordCount":1236,"commentCount":0,"publisher":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/#\/schema\/person\/c077f770ade13de7faaf616c3eac6842"},"image":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/evolution-2\/#primaryimage"},"thumbnailUrl":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-200.png","keywords":["#AGILESucks","bad interpreter","Evolution","Python","shebang","syncevolution","task synchronization","TDD"],"articleSection":["Information Technology"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/evolution-2\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/evolution-2\/","url":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/evolution-2\/","name":"Synchronizing Evolution &#8211; Logikal Blog everything on just a phone or just their tablet or one of those massively overpriced (and","isPartOf":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/evolution-2\/#primaryimage"},"image":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/evolution-2\/#primaryimage"},"thumbnailUrl":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-200.png","datePublished":"2024-05-16T22:06:51+00:00","dateModified":"2024-06-02T20:43:36+00:00","description":"It's kind of quaint to think of running Evolution PIM on just one computer so you never have to synchronize anything. When I see . . .","breadcrumb":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/evolution-2\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/evolution-2\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/evolution-2\/#primaryimage","url":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-200.png","contentUrl":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/05\/evolution-sync-200.png","width":1388,"height":758},{"@type":"BreadcrumbList","@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/evolution-2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.logikalsolutions.com\/wordpress\/"},{"@type":"ListItem","position":2,"name":"Synchronizing Evolution"}]},{"@type":"WebSite","@id":"https:\/\/www.logikalsolutions.com\/wordpress\/#website","url":"https:\/\/www.logikalsolutions.com\/wordpress\/","name":"Logikal Blog","description":"For people with attention spans longer than a Tweet","publisher":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/#\/schema\/person\/c077f770ade13de7faaf616c3eac6842"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.logikalsolutions.com\/wordpress\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/#\/schema\/person\/c077f770ade13de7faaf616c3eac6842","name":"seasoned_geek","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/ae9adac14079d84b909e635d7af986fe4568053af4fd9ff8d4109298c392493e?s=96&d=mm&r=r","url":"https:\/\/secure.gravatar.com\/avatar\/ae9adac14079d84b909e635d7af986fe4568053af4fd9ff8d4109298c392493e?s=96&d=mm&r=r","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ae9adac14079d84b909e635d7af986fe4568053af4fd9ff8d4109298c392493e?s=96&d=mm&r=r","caption":"seasoned_geek"},"logo":{"@id":"https:\/\/secure.gravatar.com\/avatar\/ae9adac14079d84b909e635d7af986fe4568053af4fd9ff8d4109298c392493e?s=96&d=mm&r=r"},"description":"Roland Hughes started his IT career in the early 1980s. He quickly became a consultant and president of Logikal Solutions, a software consulting firm specializing in OpenVMS application and C++\/Qt touchscreen\/embedded Linux development. Early in his career he became involved in what is now called cross platform development. Given the dearth of useful books on the subject he ventured into the world of professional author in 1995 writing the first of the \"Zinc It!\" book series for John Gordon Burke Publisher, Inc. A decade later he released a massive (nearly 800 pages) tome \"The Minimum You Need to Know to Be an OpenVMS Application Developer\" which tried to encapsulate the essential skills gained over what was nearly a 20 year career at that point. From there \"The Minimum You Need to Know\" book series was born. Three years later he wrote his first novel \"Infinite Exposure\" which got much notice from people involved in the banking and financial security worlds. Some of the attacks predicted in that book have since come to pass. While it was not originally intended to be a trilogy, it became the first book of \"The Earth That Was\" trilogy: Infinite Exposure Lesedi - The Greatest Lie Ever Told John Smith - Last Known Survivor of the Microsoft Wars When he is not consulting Roland Hughes posts about technology and sometimes politics on his blog. He also has regularly scheduled Sunday posts appearing on the Interesting Authors blog.","sameAs":["https:\/\/theminimumyouneedtoknow.com"],"url":"https:\/\/www.logikalsolutions.com\/wordpress\/author\/seasoned_geek\/"}]}},"_links":{"self":[{"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/posts\/6987","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/comments?post=6987"}],"version-history":[{"count":0,"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/posts\/6987\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/media\/6988"}],"wp:attachment":[{"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/media?parent=6987"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/categories?post=6987"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/tags?post=6987"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}