<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: ABDUL SATTAR</title>
    <description>The latest articles on DEV Community by ABDUL SATTAR (@abdul_sattar).</description>
    <link>https://dev.to/abdul_sattar</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1559716%2F6d00127e-5701-4860-a4f4-98ad182e5016.jpeg</url>
      <title>DEV Community: ABDUL SATTAR</title>
      <link>https://dev.to/abdul_sattar</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/abdul_sattar"/>
    <language>en</language>
    <item>
      <title>The History and Importance of C++ in the Embedded Developer</title>
      <dc:creator>ABDUL SATTAR</dc:creator>
      <pubDate>Wed, 14 Aug 2024 13:08:26 +0000</pubDate>
      <link>https://dev.to/abdul_sattar/the-history-and-importance-of-c-in-the-embedded-developer-395p</link>
      <guid>https://dev.to/abdul_sattar/the-history-and-importance-of-c-in-the-embedded-developer-395p</guid>
      <description>&lt;p&gt;When I started working in embedded systems years ago, C was the language everyone used. It was simple, fast, and reliable. But as technology advanced and devices became more complex, I found myself turning to C++ more and more. Today, C++ is a key tool in my embedded systems work. Let me share why C++ has become so important to me and how it can help in embedded development.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyi4pwkuz8ukt9jszfw4s.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyi4pwkuz8ukt9jszfw4s.jpg" alt="Image description" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What Can C++ Be Used For?
&lt;/h2&gt;

&lt;p&gt;When I began my career, most embedded systems were straightforward. We were mainly focused on controlling hardware with minimal resources, and C was perfect for that. But as embedded systems evolved, the need for more features and smarter devices grew. That’s where C++ came in.&lt;/p&gt;

&lt;h2&gt;
  
  
  Advantages of C++
&lt;/h2&gt;

&lt;p&gt;When I first moved from C to C++, I was unsure. C had always worked well for me, so why change? But over time, I realized the advantages of C++:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Efficiency Meets Flexibility:&lt;/strong&gt; C++ offers the performance I was accustomed to in C but with the added benefits of object-oriented programming. This combination allows for writing code that’s both efficient and easier to manage.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Code Reusability:&lt;/strong&gt; One of the biggest pain points in C was dealing with repetitive code. With C++, I could leverage features like inheritance and polymorphism to create reusable components, significantly reducing development time.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Direct Control Over Hardware:&lt;/strong&gt; Despite its higher-level features, C++ doesn’t distance you from the hardware. I could still manipulate bits and bytes directly, which is critical in embedded systems where every cycle counts.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Standard Template Library (STL):&lt;/strong&gt; At first, I avoided using the STL, fearing it might introduce unnecessary overhead. But as I started to explore it, I realized how much it could accelerate development without compromising on performance, especially in non-critical paths.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Community and Resources:&lt;/strong&gt; Over the years, I’ve benefited immensely from the active C++ community. Whether it’s finding a library for a specific task or getting advice on optimization, the wealth of resources available has made C++ a lot less intimidating&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  C++ Performance Optimization
&lt;/h2&gt;

&lt;p&gt;One lesson I’ve learned the hard way is that while C++ can be incredibly powerful, it requires careful optimization to fully harness that power, especially in resource-constrained embedded environments. Here are some strategies I’ve found effective:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Memory Management:&lt;/strong&gt; In one project, dynamic memory allocation caused sporadic crashes that were hard to trace. After investigating, I switched to using memory pools and stack allocation wherever possible, which significantly improved stability.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Use of Inline Functions:&lt;/strong&gt;Inline functions have been a game-changer for me, especially in time-critical sections of code. By reducing function call overhead, I was able to squeeze out extra performance in tight loops.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Move Semantics:&lt;/strong&gt; When C++11 introduced move semantics, it was a revelation. I was working on a project with heavy data processing, and by utilizing move semantics, I managed to reduce unnecessary data copying, which resulted in noticeable performance gains.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Optimizing for Size:&lt;/strong&gt; In embedded systems, every byte counts. I often use compiler-specific attributes to control the size of the compiled code. This can be as simple as tweaking optimization flags or as complex as rewriting critical sections to be more compact.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Profiling:&lt;/strong&gt; In the early stages of a project, I used to optimize based on intuition. But after discovering profiling tools, I learned to target optimizations where they really mattered, often uncovering performance bottlenecks in unexpected places.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Exceptions and RTTI:&lt;/strong&gt; For most of my embedded projects, I disable exceptions and Runtime Type Identification (RTTI) unless absolutely necessary. This reduces code size and improves performance, making the system more predictable.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Efficient Data Structures:&lt;/strong&gt; Early in my career, I underestimated the impact of choosing the right data structures. Now, I spend considerable time evaluating whether the standard containers are the best fit or if a custom structure would be more efficient.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Looking back on my journey, I can see how C++ has shaped my approach to embedded development. It’s a language that requires respect—use it recklessly, and you’ll pay the price in performance or complexity. But when wielded with care, C++ offers unparalleled power, flexibility, and efficiency.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;For embedded developers, mastering C++ isn’t just about learning a new syntax or set of tools; it’s about evolving your mindset to handle the increasingly complex demands of modern embedded systems. As devices continue to grow smarter and more interconnected, C++ will remain a critical skill, enabling us to build the future of embedded technology.&lt;/p&gt;

</description>
      <category>cpp</category>
      <category>c</category>
      <category>developers</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>How to Add a User to the Sudoers File in Linux</title>
      <dc:creator>ABDUL SATTAR</dc:creator>
      <pubDate>Wed, 07 Aug 2024 12:16:47 +0000</pubDate>
      <link>https://dev.to/abdul_sattar/how-to-add-a-user-to-the-sudoers-file-in-linux-5f7g</link>
      <guid>https://dev.to/abdul_sattar/how-to-add-a-user-to-the-sudoers-file-in-linux-5f7g</guid>
      <description>&lt;p&gt;In Linux, granting a user the ability to run commands with superuser (root) privileges is often necessary for administrative tasks. This is done by configuring the sudoers file. If you encounter the error message "&lt;strong&gt;user is not in the sudoers file&lt;/strong&gt;," follow this step-by-step guide to add your user to the sudoers file using root access.&lt;/p&gt;

&lt;h3&gt;
  
  
  1.Switch to the Root User
&lt;/h3&gt;

&lt;p&gt;If you have the root password, you can switch to the root user by entering the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;su -
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You will be prompted to enter the root password. After entering the password, you will have root access.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Edit the Sudoers File
&lt;/h3&gt;

&lt;p&gt;Use the visudo command to safely edit the sudoers file. The visudo command opens the file in a text editor and checks for syntax errors before saving the changes.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;visudo
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  3. Add the User to the Sudoers File
&lt;/h3&gt;

&lt;p&gt;In the editor, add a line at the end of the file to grant sudo privileges to the user. Replace username with the actual username you want to add:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;username &lt;span class="nv"&gt;ALL&lt;/span&gt;&lt;span class="o"&gt;=(&lt;/span&gt;ALL:ALL&lt;span class="o"&gt;)&lt;/span&gt; ALL
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This configuration allows the specified user to execute any command as any user.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Save and Exit
&lt;/h3&gt;

&lt;p&gt;Depending on the text editor used by visudo, follow the appropriate steps to save and exit:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;If visudo uses nano, press Ctrl + X, then Y, and Enter to save and exit.&lt;/li&gt;
&lt;li&gt;If visudo uses vi or vim, press Esc, type :wq, and press Enter to save and exit.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  5. Verify the Changes
&lt;/h3&gt;

&lt;p&gt;After adding the user to the sudoers file, verify the changes by switching back to the regular user and running a command with sudo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo whoami&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If the configuration is correct, the command should return root&lt;/p&gt;

</description>
      <category>linux</category>
      <category>ubuntu</category>
    </item>
    <item>
      <title>AnyDesk - remote display server is not Supported</title>
      <dc:creator>ABDUL SATTAR</dc:creator>
      <pubDate>Thu, 27 Jun 2024 15:43:30 +0000</pubDate>
      <link>https://dev.to/abdul_sattar/anydesk-remote-display-server-is-not-supported-77l</link>
      <guid>https://dev.to/abdul_sattar/anydesk-remote-display-server-is-not-supported-77l</guid>
      <description>&lt;p&gt;Are you experiencing an issue with &lt;a href="https://anydesk.com/en/downloads/linux" rel="noopener noreferrer"&gt;AnyDesk&lt;/a&gt; where the remote server display is not supported, particularly when using Wayland? This is a common problem, but fortunately, there's a way to resolve it. In this blog post, we will guide you through the steps to enable AnyDesk to function smoothly within a Wayland session. We'll also address enabling automatic login for added convenience.&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 1: Open the Terminal
&lt;/h4&gt;

&lt;p&gt;Press Ctrl + Alt + T simultaneously to open a terminal window.&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 2: Access Configuration Files
&lt;/h4&gt;

&lt;p&gt;Access Configuration Files To start, you will need to access and edit the configuration files for the GDM (GNOME Display Manager). Open your terminal and list the GDM configuration directory to ensure you’re in the right place:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt; &lt;span class="nb"&gt;ls&lt;/span&gt; /etc/gdm3
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step 3:
&lt;/h3&gt;

&lt;p&gt;Edit the Custom Configuration File Using a text editor such as nano, open the custom.conf file within the GDM configuration folder:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt; &lt;span class="nb"&gt;sudo &lt;/span&gt;nano /etc/gdm3/custom.conf
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step 3: Enable Wayland
&lt;/h3&gt;

&lt;p&gt;In the custom.conf file, find the line that controls Wayland settings. Ensure that Wayland is enabled by setting WaylandEnable=true. If the line is commented out (preceded by #), remove the # to enable it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;WaylandEnable&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nb"&gt;true&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step 4: Set Up Automatic Login (Optional)
&lt;/h3&gt;

&lt;p&gt;For convenience and to streamline the login process, you can enable automatic login. Add or uncomment the following lines, replacing $USERNAME with your actual username:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;Enabling automatic login
&lt;span class="nv"&gt;AutomaticLoginEnable&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nb"&gt;true
&lt;/span&gt;&lt;span class="nv"&gt;AutomaticLogin&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$USERNAME&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step 5: Save and Reboot
&lt;/h3&gt;

&lt;p&gt;After making the changes, save the custom.conf file and reboot your system for the changes to take effect&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;reboot
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Want to learn more? Feel free to check out my website (link in bio) or connect with me on &lt;a href="https://www.linkedin.com/in/a4sa/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt; for more Ubuntu tips and tricks!&lt;/p&gt;

</description>
      <category>ubuntu</category>
      <category>linux</category>
    </item>
    <item>
      <title>Install STM32 Cube on Ubuntu</title>
      <dc:creator>ABDUL SATTAR</dc:creator>
      <pubDate>Fri, 07 Jun 2024 09:11:34 +0000</pubDate>
      <link>https://dev.to/abdul_sattar/install-stm32-cube-on-ubuntu-31</link>
      <guid>https://dev.to/abdul_sattar/install-stm32-cube-on-ubuntu-31</guid>
      <description>&lt;p&gt;If you're a developer working with STM32 microcontrollers, STM32Cube IDE is an indispensable tool for your projects. Running on &lt;strong&gt;Ubuntu&lt;/strong&gt;, this comprehensive integrated development environment (IDE) offers everything you need for software development.&lt;/p&gt;

&lt;h4&gt;
  
  
  1. Open the Terminal
&lt;/h4&gt;

&lt;p&gt;Press Ctrl + Alt + T simultaneously to open a terminal window.&lt;/p&gt;

&lt;h4&gt;
  
  
  2. Update and Upgrade
&lt;/h4&gt;

&lt;p&gt;Before installing STM32Cube, ensure your system has the latest updates. Run the following commands:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt update
&lt;span class="nb"&gt;sudo &lt;/span&gt;apt upgrade
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  3. Download STM32Cube
&lt;/h4&gt;

&lt;p&gt;Head over to the &lt;a href="https://www.st.com/en/development-tools/stm32cubeide.html#st-get-software" rel="noopener noreferrer"&gt;STM32Cube officia&lt;/a&gt;l website and download the latest version of STM32CubeMX for Linux. Make sure to download the .zip file.&lt;/p&gt;

&lt;h4&gt;
  
  
  4. Install Java Runtime Environment
&lt;/h4&gt;

&lt;p&gt;STM32CubeMX requires Java to run. Install the Java Runtime Environment (JRE) with the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;default-jre
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  5. Extract and Install STM32Cube
&lt;/h4&gt;

&lt;p&gt;Navigate to the directory where you downloaded the .zip file, then extract it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; ~/Downloads
unzip en.stm32cubemx.zip &lt;span class="nt"&gt;-d&lt;/span&gt; ~/STM32CubeMX
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Next, navigate to the extracted directory and run the installation script:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; ~/STM32CubeMX
&lt;span class="nb"&gt;chmod&lt;/span&gt; +x SetupSTM32CubeMX-&amp;lt;version&amp;gt;-Linux.run
./SetupSTM32CubeMX-&amp;lt;version&amp;gt;-Linux.run
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Replace  with the actual version number of your downloaded file.&lt;/p&gt;

&lt;h4&gt;
  
  
  6. Launch STM32Cube
&lt;/h4&gt;

&lt;p&gt;Once the installation is complete, you can launch STM32Cube directly from the terminal by navigating to the installation directory and running:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; ~/STM32CubeMX
./STM32CubeMX
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Want to learn more? Feel free to check out my website (link in bio) or connect with me on &lt;a href="https://www.linkedin.com/in/a4sa/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt; for more Ubuntu tips and tricks!&lt;/p&gt;

</description>
      <category>stm32</category>
      <category>linux</category>
      <category>ubuntu</category>
      <category>embedded</category>
    </item>
    <item>
      <title>Install Notion on Ubuntu</title>
      <dc:creator>ABDUL SATTAR</dc:creator>
      <pubDate>Tue, 04 Jun 2024 19:25:09 +0000</pubDate>
      <link>https://dev.to/abdul_sattar/install-notion-on-ubuntu-533j</link>
      <guid>https://dev.to/abdul_sattar/install-notion-on-ubuntu-533j</guid>
      <description>&lt;p&gt;&lt;strong&gt;Install Notion on Ubuntu effortlessly&lt;/strong&gt;! This guide provides clear steps to set up Notion on your Ubuntu system and boost your productivity&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.notion.so/" rel="noopener noreferrer"&gt;Notion&lt;/a&gt; can be your hero! This powerful workspace goes beyond just a database, tackling your note-taking, tasks, projects, and keeping everything organized in one place. But wait, there's good news! Even if you're an Ubuntu user, getting started with Notion is a breeze! This guide will walk you through the process in a few simple steps.&lt;/p&gt;

&lt;h4&gt;
  
  
  1. Open the Terminal
&lt;/h4&gt;

&lt;p&gt;Press Ctrl + Alt + T simultaneously, and a terminal window will appear.&lt;/p&gt;

&lt;h4&gt;
  
  
  2. Update and Upgrade
&lt;/h4&gt;

&lt;p&gt;Before installing Notion, it's good practice to ensure your system has the latest updates.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt update
&lt;span class="nb"&gt;sudo &lt;/span&gt;apt upgrade
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  3. Install Notion
&lt;/h4&gt;

&lt;p&gt;Now comes the fun part! Run the following command in the terminal to install the necessary Notion packages:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;notion-app-enhanced
&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;notion-app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  4.  Launch Notion:
&lt;/h4&gt;

&lt;p&gt;Once the installation is complete, you can launch Notion directly from the terminal by typing:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;notion-app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you still facing any issue after installing the Notion on Desktop version.I noticed that some people had problems installing&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt purge notion&lt;span class="k"&gt;*&lt;/span&gt;
&lt;span class="nb"&gt;sudo &lt;/span&gt;snap &lt;span class="nb"&gt;install &lt;/span&gt;notion-snap-reborn
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Want to learn more? Feel free to check out my website (link in bio) or connect with me on &lt;a href="https://www.linkedin.com/in/a4sa/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt; for more Ubuntu tips and tricks!&lt;/p&gt;

</description>
      <category>notion</category>
      <category>linux</category>
      <category>ubuntu</category>
    </item>
  </channel>
</rss>
