<?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: Shreyas Sneh</title>
    <description>The latest articles on DEV Community by Shreyas Sneh (@codelemonade).</description>
    <link>https://dev.to/codelemonade</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%2F2835198%2F4b87d069-9567-499d-a0d5-e92e26b7d288.jpg</url>
      <title>DEV Community: Shreyas Sneh</title>
      <link>https://dev.to/codelemonade</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/codelemonade"/>
    <language>en</language>
    <item>
      <title>[AWS Cloud Practitioner | Preparation tips/resources]</title>
      <dc:creator>Shreyas Sneh</dc:creator>
      <pubDate>Wed, 21 May 2025 23:05:09 +0000</pubDate>
      <link>https://dev.to/codelemonade/-518</link>
      <guid>https://dev.to/codelemonade/-518</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/codelemonade/aws-cloud-practitioner-everything-i-used-to-pass-and-what-id-skip-38ko" class="crayons-story__hidden-navigation-link"&gt;AWS Cloud Practitioner | Everything I Used to Pass (and What I’d Skip)🚀&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/codelemonade" class="crayons-avatar  crayons-avatar--l  "&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%2Fuser%2Fprofile_image%2F2835198%2F4b87d069-9567-499d-a0d5-e92e26b7d288.jpg" alt="codelemonade profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/codelemonade" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Shreyas Sneh
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Shreyas Sneh
                
              
              &lt;div id="story-author-preview-content-2506055" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/codelemonade" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&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%2Fuser%2Fprofile_image%2F2835198%2F4b87d069-9567-499d-a0d5-e92e26b7d288.jpg" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Shreyas Sneh&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/codelemonade/aws-cloud-practitioner-everything-i-used-to-pass-and-what-id-skip-38ko" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;May 20 '25&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/codelemonade/aws-cloud-practitioner-everything-i-used-to-pass-and-what-id-skip-38ko" id="article-link-2506055"&gt;
          AWS Cloud Practitioner | Everything I Used to Pass (and What I’d Skip)🚀
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/aws"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;aws&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/cloud"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;cloud&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/certification"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;certification&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/codelemonade/aws-cloud-practitioner-everything-i-used-to-pass-and-what-id-skip-38ko" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;1&lt;span class="hidden s:inline"&gt; reaction&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/codelemonade/aws-cloud-practitioner-everything-i-used-to-pass-and-what-id-skip-38ko#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              Comments


              2&lt;span class="hidden s:inline"&gt; comments&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            3 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
      <category>aws</category>
      <category>cloud</category>
      <category>certification</category>
    </item>
    <item>
      <title>AWS Cloud Practitioner | Everything I Used to Pass (and What I’d Skip)🚀</title>
      <dc:creator>Shreyas Sneh</dc:creator>
      <pubDate>Tue, 20 May 2025 12:33:16 +0000</pubDate>
      <link>https://dev.to/codelemonade/aws-cloud-practitioner-everything-i-used-to-pass-and-what-id-skip-38ko</link>
      <guid>https://dev.to/codelemonade/aws-cloud-practitioner-everything-i-used-to-pass-and-what-id-skip-38ko</guid>
      <description>&lt;p&gt;I recently claimed my AWS Cloud Practitioner certification and I'd like to share some tips and resources from my experience that might be helpful if you're targeting the same.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Avoid over-estimating/under-estimating the Difficulty Level
&lt;/h3&gt;

&lt;p&gt;Let me clarify that the exam has a bound syllabus, which means 99.99% questions will be from the official topics list and you don't have to keep looking for more resources.&lt;br&gt;
Secondly being a foundational level exam, very few(5-6) questions will require logic and reasoning to get through.&lt;/p&gt;

&lt;p&gt;Lastly, this doesn't mean that we can under-estimate the question set. If you skip any topic, there will be high chances that you'll have to pass up on a question, since most of them will be fact based.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Watch-out for "KEYWORDS!!"
&lt;/h3&gt;

&lt;p&gt;The best way to remember the services and differentiate between them is recalling the keywords. I'll give you an example:&lt;/p&gt;

&lt;p&gt;In AWS, both "Cost Explorer" and "Trust Advisor" help optimize cloud spending and resource utilization. But if we bundle them with keywords like 'Cost explorer offers &lt;strong&gt;cost forecasting&lt;/strong&gt;' whereas 'Trust advisor focuses on &lt;strong&gt;recommending&lt;/strong&gt; best practices to manage resources in AWS environment'&lt;/p&gt;

&lt;p&gt;Here we can recall and differentiate these services when question is asked regarding cost/usage etc.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Cost-explorer&lt;/strong&gt; ----&amp;gt; &lt;strong&gt;Fore-casting&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Trust Advisor&lt;/strong&gt; ----&amp;gt; &lt;strong&gt;Recommendation&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  3. Limited Resources
&lt;/h3&gt;

&lt;p&gt;Don't overwhelm yourself with plethora of resources available over the internet. Trust me, you don't need a lot to clear this exam.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;All you need is 1 good video course and 5-6 full length practice sets.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I used the below 3 for my preparation and they prove to be sufficient.&lt;/p&gt;

&lt;p&gt;Course: &lt;a href="https://www.udemy.com/share/103a09/" rel="noopener noreferrer"&gt;AWS Certified Cloud Practitioner&lt;/a&gt;&lt;br&gt;
Practice Set: &lt;a href="https://www.udemy.com/share/103aFZ/" rel="noopener noreferrer"&gt;6 Practice Sets&lt;/a&gt;&lt;br&gt;
Mind map to keep track of topics: &lt;a href="https://kananinirav.com/mind-map-aws-ccp.html" rel="noopener noreferrer"&gt;Mind map&lt;/a&gt;&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%2F86u8sufxnmgnmopb9cwx.png" 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%2F86u8sufxnmgnmopb9cwx.png" alt="coursework" width="582" height="262"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Practice Topic-wise (ChatGPT - The saviour)
&lt;/h3&gt;

&lt;p&gt;Now here's a game changer, keep note that this isn't much reliable, but surely helps in gaining grasp over individual topics.&lt;/p&gt;

&lt;p&gt;You can generate topic-wise questions of simple and complex problems to practice as you complete a section.&lt;/p&gt;

&lt;p&gt;This will ensure that you've additional edge alongside the questions that're given at the end of each section in udemy/any preferred course.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. NO PANIC MODE
&lt;/h3&gt;

&lt;p&gt;Don't get discouraged and panic if you score low in practice sets. The sole purpose of practice sets is not only getting experience of real-time examination.&lt;/p&gt;

&lt;p&gt;The best way to use it is, solving a practice set and then using it as a question dump before moving to the next set. Don't focus on the score in 1st iteration/attempt. &lt;br&gt;
After thoroughly going through the sets 1 by 1 with correct answer, the second attempt is your real test.&lt;/p&gt;

&lt;p&gt;Repeat this process till you get to a desired (~80%) score.&lt;br&gt;
This exam will basically test you for the knowledge width, not in-depth understanding, so covering a large volume of questions will be helpful.&lt;/p&gt;

&lt;h4&gt;
  
  
  Edit: BONUS (Optional)
&lt;/h4&gt;

&lt;p&gt;If you're attempting the exam as a non-native speaker of the preferred language, you can claim 'accommodation' for an additional 30 minutes over the default exam duration.&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%2Fjc0r0aj5sd2sp429r7ze.png" 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%2Fjc0r0aj5sd2sp429r7ze.png" alt="Accommodation" width="800" height="134"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Feel free to drop comments if you need any suggestions.&lt;/p&gt;

&lt;p&gt;Happy Learning !!!&lt;/p&gt;

</description>
      <category>aws</category>
      <category>cloud</category>
      <category>certification</category>
    </item>
    <item>
      <title>How to Set a Static IP for Your Fedora VM: A Step-by-Step Guide</title>
      <dc:creator>Shreyas Sneh</dc:creator>
      <pubDate>Sat, 03 May 2025 20:46:57 +0000</pubDate>
      <link>https://dev.to/codelemonade/how-to-set-a-static-ip-for-your-fedora-vm-a-step-by-step-guide-36c</link>
      <guid>https://dev.to/codelemonade/how-to-set-a-static-ip-for-your-fedora-vm-a-step-by-step-guide-36c</guid>
      <description>&lt;p&gt;An important and helpful step before diving into any project is to &lt;strong&gt;assign a static IP to your VM&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;This ensures that you don’t have to repeatedly check the server IP for SSH access or modify your automation scripts and Spring Boot projects every time the IP changes.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Log in to Your Fedora VM and Discover Your Current IP Address
&lt;/h3&gt;

&lt;p&gt;Log into the VM using &lt;strong&gt;Virtual Machine Manager&lt;/strong&gt;.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;To set up Virtual Machine Manager, follow this guide from my ongoing series: &lt;a href="https://shreyas-s.hashnode.dev/virtual-machines-on-fedora-39-the-ultimate-kvmqemu-setup" rel="noopener noreferrer"&gt;KVM setup on Fedora&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Once the setup is complete, search for “Virtual Machine Manager” in your system’s search bar. Open the app, “run” the VM by selecting your server, and click on “Open”. This will launch your Fedora QEMU/KVM console.&lt;/p&gt;

&lt;p&gt;To use SSH, go to your host system’s terminal and run the following command (you’ll be prompted for the root user and password):&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;It’ll look something like this:&lt;/p&gt;
&lt;/blockquote&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%2Fag2oyd3tlrj3yt39g4mp.png" 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%2Fag2oyd3tlrj3yt39g4mp.png" alt="How to Set a Static IP for Your Fedora VM: A Step-by-Step Guide" width="800" height="119"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After logging in, run the following command inside the VM:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ip a | grep inet
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Sample Output:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host noprefixroute 
inet 192.168.124.54/24 brd 192.168.124.255 scope global noprefixroute enp1s0
inet6 fe80::5054:ff:fe57:17c5/64 scope link noprefixroute 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;From the sample output above, you can see the server IP is &lt;code&gt;192.168.124.54&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Determine Your Active Network Interface
&lt;/h3&gt;

&lt;p&gt;Before making any changes, let’s identify the active network interface:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;nmcli connection show
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Sample Output:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;NAME    UUID                                  TYPE      DEVICE 
enp1s0  19d67abb-cd75-377e-a963-eb9f13582a50  ethernet  enp1s0 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;From the output, our device is &lt;strong&gt;enp1s0&lt;/strong&gt;, which we’ll use in the next step.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Set Up a Static IP Profile for Your Fedora VM
&lt;/h3&gt;

&lt;p&gt;Create or edit the connection file using the command below. Ensure the IPv4 configuration matches your desired static IP setup.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;vi /etc/NetworkManager/system-connections/enp1s0.nmconnection
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Ensure the file contains the following structure:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[connection]
id=enp1s0
uuid=19d67abb-cd75-377e-a963-eb9f13582a50
type=ethernet
autoconnect-priority=-999
interface-name=enp1s0
timestamp=1742568216

[ethernet]

[ipv4]
address1=192.168.124.54/24,192.168.124.1
dns=8.8.8.8;8.8.4.4;
method=manual

[ipv6]
addr-gen-mode=eui64
method=auto

[proxy]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After verifying or editing the configuration, set appropriate permissions:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;chmod 600 /etc/NetworkManager/system-connections/enp1s0.nmconnection
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  4. Save and Apply Your Network Configuration Changes
&lt;/h3&gt;

&lt;p&gt;To apply the new static IP configuration without rebooting:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;nmcli connection down enp1s0 &amp;amp;&amp;amp; nmcli connection up enp1s0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Alternatively, you can simply reboot the VM.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Verify Your Static IP Configuration
&lt;/h3&gt;

&lt;p&gt;Run the following commands to confirm everything is set correctly:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ip a show enp1s0
# You should see your static IP in the output

ping 8.8.8.8      # Check internet connectivity
ping google.com   # Check DNS resolution
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  ✅ You're Done!
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Happy Learning!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Feel free to drop a comment if you face any issues — I’ll try to recreate the error and share steps to resolve it.&lt;/p&gt;

</description>
      <category>ssh</category>
      <category>fedora</category>
      <category>virtualmachine</category>
      <category>dhcp</category>
    </item>
    <item>
      <title>Fedora 39 Multi-Monitor set-up guide : Split, Stack, or Go HDMI-Only ft. QHD 27QN600</title>
      <dc:creator>Shreyas Sneh</dc:creator>
      <pubDate>Fri, 25 Apr 2025 20:59:04 +0000</pubDate>
      <link>https://dev.to/codelemonade/fedora-39-multi-monitor-set-up-guide-split-stack-or-go-hdmi-only-ft-qhd-27qn600-1e42</link>
      <guid>https://dev.to/codelemonade/fedora-39-multi-monitor-set-up-guide-split-stack-or-go-hdmi-only-ft-qhd-27qn600-1e42</guid>
      <description>&lt;p&gt;Setting up a seamless multi-monitor experience on Fedora 39 can be tricky — especially when you want the login screen (GDM) and user session to behave consistently with your display setup.&lt;/p&gt;

&lt;p&gt;I'm going to share 3 basic layouts that will help you get started if you're new to either Fedora or just got a new monitor &amp;amp; want to setup with Fedora 39.&lt;/p&gt;

&lt;p&gt;Once logged-in and having your laptop/system connected to let's say HDMI1 port of the monitor, you can run any of the below scripts to adjust the layout.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. HDMI-Only :&lt;/strong&gt; Monitor will be entirely used and laptop screen will be non-functional.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;xrandr --output eDP-1 --off --output HDMI-1 --mode 2560x1440 --primary&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Extended Display :&lt;/strong&gt; Using a laptop screen and an external monitor side-by-side with the cursor able to move freely between them&lt;/p&gt;

&lt;p&gt;&lt;code&gt;xrandr --output eDP-1 --auto --output HDMI-1 --mode 2560x1440 --right-of eDP-1 --primary&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Laptop Top-Left, External Monitor Below&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;xrandr --output eDP-1 --auto --pos 0x0 --output HDMI-1 --mode 2560x1440 --pos 0x900 --primary&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;But here's the catch. We're only making the changes. We're neither saving them as scripts nor we've scheduled a thread to execute them. This means each time we login, we will be required to run these commands.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;So, let's create a permanent fix to this problem.&lt;br&gt;
We'll perform the setup in 2 parts. One for pre-login screen and another for post-login display.&lt;br&gt;
The reason for it is &lt;u&gt;&lt;strong&gt;GDM (login screen) and your session run separate X servers with different permissions and display names.&lt;/strong&gt;&lt;/u&gt;&lt;br&gt;
xrandr doesn't work on the GDM session from your user session, and vice versa.&lt;br&gt;
The GDM layout must be set via static XML (monitors.xml), while your session can use scripts or GUI tools.&lt;/p&gt;

&lt;p&gt;Even if you match both perfectly, the transition between X servers still causes a delay, hence we'll handle it with a brief sleep period.&lt;/p&gt;

&lt;p&gt;Let's jump into the steps right away now.&lt;/p&gt;

&lt;p&gt;STEP1: Create a new script&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;nano ~/.config/fix-resolution.sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Paste this in the file&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;#!/bin/bash

# Wait a bit to make sure X session is fully loaded
sleep 2

# Set up your preferred layout
xrandr --output eDP-1 --off --output HDMI-1 --mode 2560x1440 --primary

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;STEP 2: Make the script executable&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;chmod +x ~/.config/fix-resolution.sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;STEP 3: Create autostart &lt;code&gt;.desktop&lt;/code&gt; file&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;mkdir -p ~/.config/autostart
nano ~/.config/autostart/fix-resolution.desktop
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Paste this in the file&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[Desktop Entry]
Type=Application
Exec=/home/shrey/.config/fix-resolution.sh
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name=Fix Display Resolution
Comment=Applies correct xrandr layout

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;STEP 4: Reboot&lt;br&gt;
Either use the CLI and paste below command, or reboot from the GUI.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;reboot
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;Now you'll be able to see that our resolution changes are visible after logging-in, but still the login display has remained unchanged.&lt;/p&gt;

&lt;p&gt;Moving ahead with our second part (Pre-login display) we'll be making and saving the changes to the GDM.&lt;/p&gt;

&lt;p&gt;STEP 1: Copy saved Layout to GDM&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo mkdir -p /var/lib/gdm/.config
sudo cp ~/.config/monitors.xml /var/lib/gdm/.config/
sudo chown gdm:gdm /var/lib/gdm/.config/monitors.xml

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;STEP 2: Disable Wayland (MUST) , in-case it's enabled&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo nano /etc/gdm/custom.conf

#Make sure this is uncommented
WaylandEnable=false
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;STEP 3: (Optional) Disable Extra scripts&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo nano /etc/gdm/Init/Default
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;STEP 4: Reboot to test&lt;/p&gt;

&lt;p&gt;NOTE: Make sure you're using resolution values according to yor monitor specs. Here I've used 2560x1440 since it's the max resolution for my QHD monitor.&lt;/p&gt;

&lt;p&gt;Hope this helps &amp;amp; Happy Learning !!!&lt;/p&gt;

</description>
      <category>fedora</category>
      <category>programming</category>
      <category>coding</category>
      <category>vibecoding</category>
    </item>
  </channel>
</rss>
