docs(guides): add autostart guide - #3287

Merged
ReenigneArcher merged 27 commits into
LizardByte:masterfrom
midwesternrodent:master
Oct 16, 2024
Merged

docs(guides): add autostart guide#3287
ReenigneArcher merged 27 commits into
LizardByte:masterfrom
midwesternrodent:master

Conversation

@midwesternrodent

Copy link
Copy Markdown
Contributor

Description

Add a new guide for how to enable autostart for Sunshine without enabling autologin. This is the significantly revised document from my previous PR #3200

This guide works by first starting a system service that creates an SSH tunnel to the localhost to start sunshine, similar to Eric Dong's guide on Remote SSH headless setup, but we're SSHing from the local machine instead of a remote machine so you don't need to leave the moonlight client to get streaming setup. After you login to SDDM, there is a second user service that kills the first system service, and runs sunshine with the permissions of the graphical desktop; this is to fix the issues I encountered in #3200 where pipewire was not working, and the system tray icon did not appear.

This guide also gives some non-sunshine related advice around configuring SDDM so you don't end up with a situation where the display streaming to moonlight does not have the mouse captured on it.

There are a few caveats to this guide:

  1. When you login via moonlight, you will be temporarily disconnected until the next user service starts.
  2. I haven't found a way to disable sleep on the login screen, so sometimes the screen can time out and moonlight can't connect if you leave it sit too long. This would happen on Eric Dong's guide as well though.

I have also made some changes to Eric Dong's guide, one just to call out that there is an issue with pipewire audio over SSH and directing people to this guide to fix it.

The second edit, is more of a style / best practices change that I'm more than happy to drop from this PR if anyone disagrees. However, I did change the sections where they're editing a file in sudoers.d to use visudo rather than echoing the edits directly just for the sake of user safety.

I also added some tips to the KDE Plasma (X11, Wayland) section of the app config examples, just to call out how to find the names of the displays with kscreen-doctor since that was a little difficult for me to find online otherwise.

Problems with these documents:
I couldn't figure out how to do internal links properly, so I ended up hardlinking in quite a few areas to docs.lizardbyte.dev, and I imagine that's not the right way to do things. If someone can let me know how you'd like me to do those links, I can get them changed for you so they work better internally.

Because of this issue, I also wasn't able to link to my guide from Eric Dong's guide so once I know how to do the internal links, I'll want to add that just to redirect people.

Also - I didn't want to take away from Eric Dong's voice so I pointed out my authorship of the pipewire issue callout, but I did not call out that I made the visudo change. I don't really care about attribution in that (or any) part, I just wanted to make clear that the comments on pipewire's audio streaming issues over SSH were not from the original author of that guide. If you want me to change that, that's fine by me.

Let me know what I can do to help get this merged or make it more understandable. Thanks!

Screenshot

Issues Fixed or Closed

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Dependency update (updates to dependencies)
  • Documentation update (changes to documentation)
  • Repository update (changes to repository files, e.g. .github/...)

Checklist

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have added or updated the in code docstring/documentation-blocks for new or existing methods/components

@ReenigneArcherReenigneArcher changed the title docs(guides) Create a new guide for starting sunshine on boot without enabling autologin.docs(guides): add autostart guideOct 11, 2024

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the PR! Before I review this in detail, could you make the max line length of your changes 120 characters?

@midwesternrodent

Copy link
Copy Markdown
ContributorAuthor

Thanks for the PR! Before I review this in detail, could you make the max line length of your changes 120 characters?

Absolutely. I had a little extra time tonight and get them all reduced and fixed some spelling and formatting issues.

If there are any parts you'd like me to condense, please let me know - I fully recognize it's a book.

Do you have any tips on how you'd like me to handle the internal linking? Right now I'm doing things like this which seems wrong based on what I'm seeing in other guides. [Static IP Setup](https://docs.lizardbyte.dev/projects/sunshine/en/latest/about/guides/linux/headless_ssh.html#static-ip-setup)

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems to be great guide, and really informative! I learned a lot by reading all of this (although I haven't run through any of it myself).

My suggestions are mostly to improve formatting and consistency. Thank you!

Edit:

Do you have any tips on how you'd like me to handle the internal linking?

I have some suggestions below on that as well.

Comment threaddocs/app_examples.md Outdated
Comment threaddocs/app_examples.md Outdated
Comment threaddocs/app_examples.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md
@midwesternrodent

Copy link
Copy Markdown
ContributorAuthor

I've reviewed all your suggestions and they look great. Thank you for taking the time to do that, I'll certainly be taking some of your style suggestions to heart for future guides, they're very clean.

I don't want to merge this quite yet, because I remember finding an error in one of my commands the other day so I'm gonna take some time to proofread this once or twice more tomorrow and make sure I caught all of those. I'll let you know when I think it's perfect (or at least good enough).

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Found a few more things, but this is getting close.

If you want to see the docs rendered, they appear here https://lizardbyte--3287.org.readthedocs.build/projects/sunshine/en/3287/md_docs_2guides.html for your PR.

Comment threaddocs/app_examples.md
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/app_examples.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
@midwesternrodent

Copy link
Copy Markdown
ContributorAuthor

I think I've gotten all the issues with the last two proofreads, and we should be good to merge. Let me know if you agree, or if you think there are a few things left to change still. Thanks for all your help in moving this along, I appreciate it!

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for working through all these points!

I think these are my final requests.

I reviewed the rendered docs, and everything appears nice there.

Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
@midwesternrodent

Copy link
Copy Markdown
ContributorAuthor

Sounds good, I've accepted all of your suggestions. Let me know if there's anything else!

midwesternrodentand others added 18 commits October 16, 2024 14:15
Add a new guide for starting sunshine on boot, fixing streaming audio with pipewire, and configuring the displays for SDDM.
Also edit some of Eric Dong's guide on the Remote SSH Headless Setup, to call out the issues with pipewire.
Also edited the Remote SSH Headless guides to recommend users to edit with visudo to ensure they don't mess up their sudo configuration.
Add some tips on how to find the right monitor using kscreen-doctor on KDE Plasma for Wayland and X11.
Reduce the maximum line length to 120 characters.
Fix some spelling errors that Obsidian didn't pick up for me. (whoops!)
Accidentally expanded the KDE Plasma (Wayland, X11) table. Fixed it.
Fixed some spelling errors, formatting problems, and fixed the maximum line length to less than 120 characters.
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Apply formatting, grammar, and style suggestions.
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Testing some options for putting code in admonition blocks to see how they look on readthedocs.
Don't merge with these changes active, they'll look weird.
Applying all suggestions except those about code snippets in admonition blocks.
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Fixing the previously added codeblock changes to make sure they look right in readthedocs.
midwesternrodentand others added 9 commits October 16, 2024 14:15
Changing the @code{} and @encode blocks originally suggested to double and triple backticks.
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Fixing code snippets in admonition blocks.
Fixed the code block I broke on line 868 in a previous commit.
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Spelling, formatting, and style changes. Fixed a single misnamed command in one of the service files referenced in my guide.
minor grammar fix
Final proofread, fixed a few minor spelling and style problems.
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
@sonarqubecloud

Copy link
Copy Markdown

@codecov

codecovBot commented Oct 16, 2024

Copy link
Copy Markdown

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 11.13%. Comparing base (f429d34) to head (af3cb10).
Report is 79 commits behind head on master.

Additional details and impacted files
@@ Coverage Diff @@## master #3287 +/- ##
=======================================
Coverage 11.12% 11.13% =======================================
Files 99 99 Lines 17211 17211 Branches 8023 8023 =======================================
+ Hits 1915 1916 +1 
Misses 12737 12737 + Partials 2559 2558 -1 
FlagCoverage Δ
Linux8.42% <ø> (ø)
Windows5.19% <ø> (ø)
macOS-1313.60% <ø> (+0.01%)⬆️
macOS-1412.59% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

see 1 file with indirect coverage changes

@ReenigneArcher
ReenigneArcher enabled auto-merge (squash) October 16, 2024 18:26
@ReenigneArcher

Copy link
Copy Markdown
Member

Thanks for all the changes! This will be merged once all the CI passes

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@midwesternrodent@ReenigneArcher
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

docs(guides): add autostart guide - #3287

Merged
ReenigneArcher merged 27 commits into
LizardByte:masterfrom
midwesternrodent:master
Oct 16, 2024
Merged

docs(guides): add autostart guide#3287
ReenigneArcher merged 27 commits into
LizardByte:masterfrom
midwesternrodent:master

Conversation

@midwesternrodent

Copy link
Copy Markdown
Contributor

Description

Add a new guide for how to enable autostart for Sunshine without enabling autologin. This is the significantly revised document from my previous PR #3200

This guide works by first starting a system service that creates an SSH tunnel to the localhost to start sunshine, similar to Eric Dong's guide on Remote SSH headless setup, but we're SSHing from the local machine instead of a remote machine so you don't need to leave the moonlight client to get streaming setup. After you login to SDDM, there is a second user service that kills the first system service, and runs sunshine with the permissions of the graphical desktop; this is to fix the issues I encountered in #3200 where pipewire was not working, and the system tray icon did not appear.

This guide also gives some non-sunshine related advice around configuring SDDM so you don't end up with a situation where the display streaming to moonlight does not have the mouse captured on it.

There are a few caveats to this guide:

  1. When you login via moonlight, you will be temporarily disconnected until the next user service starts.
  2. I haven't found a way to disable sleep on the login screen, so sometimes the screen can time out and moonlight can't connect if you leave it sit too long. This would happen on Eric Dong's guide as well though.

I have also made some changes to Eric Dong's guide, one just to call out that there is an issue with pipewire audio over SSH and directing people to this guide to fix it.

The second edit, is more of a style / best practices change that I'm more than happy to drop from this PR if anyone disagrees. However, I did change the sections where they're editing a file in sudoers.d to use visudo rather than echoing the edits directly just for the sake of user safety.

I also added some tips to the KDE Plasma (X11, Wayland) section of the app config examples, just to call out how to find the names of the displays with kscreen-doctor since that was a little difficult for me to find online otherwise.

Problems with these documents:
I couldn't figure out how to do internal links properly, so I ended up hardlinking in quite a few areas to docs.lizardbyte.dev, and I imagine that's not the right way to do things. If someone can let me know how you'd like me to do those links, I can get them changed for you so they work better internally.

Because of this issue, I also wasn't able to link to my guide from Eric Dong's guide so once I know how to do the internal links, I'll want to add that just to redirect people.

Also - I didn't want to take away from Eric Dong's voice so I pointed out my authorship of the pipewire issue callout, but I did not call out that I made the visudo change. I don't really care about attribution in that (or any) part, I just wanted to make clear that the comments on pipewire's audio streaming issues over SSH were not from the original author of that guide. If you want me to change that, that's fine by me.

Let me know what I can do to help get this merged or make it more understandable. Thanks!

Screenshot

Issues Fixed or Closed

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Dependency update (updates to dependencies)
  • Documentation update (changes to documentation)
  • Repository update (changes to repository files, e.g. .github/...)

Checklist

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have added or updated the in code docstring/documentation-blocks for new or existing methods/components

@ReenigneArcherReenigneArcher changed the title docs(guides) Create a new guide for starting sunshine on boot without enabling autologin.docs(guides): add autostart guideOct 11, 2024

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the PR! Before I review this in detail, could you make the max line length of your changes 120 characters?

@midwesternrodent

Copy link
Copy Markdown
ContributorAuthor

Thanks for the PR! Before I review this in detail, could you make the max line length of your changes 120 characters?

Absolutely. I had a little extra time tonight and get them all reduced and fixed some spelling and formatting issues.

If there are any parts you'd like me to condense, please let me know - I fully recognize it's a book.

Do you have any tips on how you'd like me to handle the internal linking? Right now I'm doing things like this which seems wrong based on what I'm seeing in other guides. [Static IP Setup](https://docs.lizardbyte.dev/projects/sunshine/en/latest/about/guides/linux/headless_ssh.html#static-ip-setup)

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems to be great guide, and really informative! I learned a lot by reading all of this (although I haven't run through any of it myself).

My suggestions are mostly to improve formatting and consistency. Thank you!

Edit:

Do you have any tips on how you'd like me to handle the internal linking?

I have some suggestions below on that as well.

Comment threaddocs/app_examples.md Outdated
Comment threaddocs/app_examples.md Outdated
Comment threaddocs/app_examples.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md
@midwesternrodent

Copy link
Copy Markdown
ContributorAuthor

I've reviewed all your suggestions and they look great. Thank you for taking the time to do that, I'll certainly be taking some of your style suggestions to heart for future guides, they're very clean.

I don't want to merge this quite yet, because I remember finding an error in one of my commands the other day so I'm gonna take some time to proofread this once or twice more tomorrow and make sure I caught all of those. I'll let you know when I think it's perfect (or at least good enough).

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Found a few more things, but this is getting close.

If you want to see the docs rendered, they appear here https://lizardbyte--3287.org.readthedocs.build/projects/sunshine/en/3287/md_docs_2guides.html for your PR.

Comment threaddocs/app_examples.md
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/app_examples.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
@midwesternrodent

Copy link
Copy Markdown
ContributorAuthor

I think I've gotten all the issues with the last two proofreads, and we should be good to merge. Let me know if you agree, or if you think there are a few things left to change still. Thanks for all your help in moving this along, I appreciate it!

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for working through all these points!

I think these are my final requests.

I reviewed the rendered docs, and everything appears nice there.

Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
@midwesternrodent

Copy link
Copy Markdown
ContributorAuthor

Sounds good, I've accepted all of your suggestions. Let me know if there's anything else!

midwesternrodentand others added 18 commits October 16, 2024 14:15
Add a new guide for starting sunshine on boot, fixing streaming audio with pipewire, and configuring the displays for SDDM.
Also edit some of Eric Dong's guide on the Remote SSH Headless Setup, to call out the issues with pipewire.
Also edited the Remote SSH Headless guides to recommend users to edit with visudo to ensure they don't mess up their sudo configuration.
Add some tips on how to find the right monitor using kscreen-doctor on KDE Plasma for Wayland and X11.
Reduce the maximum line length to 120 characters.
Fix some spelling errors that Obsidian didn't pick up for me. (whoops!)
Accidentally expanded the KDE Plasma (Wayland, X11) table. Fixed it.
Fixed some spelling errors, formatting problems, and fixed the maximum line length to less than 120 characters.
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Apply formatting, grammar, and style suggestions.
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Testing some options for putting code in admonition blocks to see how they look on readthedocs.
Don't merge with these changes active, they'll look weird.
Applying all suggestions except those about code snippets in admonition blocks.
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Fixing the previously added codeblock changes to make sure they look right in readthedocs.
midwesternrodentand others added 9 commits October 16, 2024 14:15
Changing the @code{} and @encode blocks originally suggested to double and triple backticks.
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Fixing code snippets in admonition blocks.
Fixed the code block I broke on line 868 in a previous commit.
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Spelling, formatting, and style changes. Fixed a single misnamed command in one of the service files referenced in my guide.
minor grammar fix
Final proofread, fixed a few minor spelling and style problems.
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
@sonarqubecloud

Copy link
Copy Markdown

@codecov

codecovBot commented Oct 16, 2024

Copy link
Copy Markdown

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 11.13%. Comparing base (f429d34) to head (af3cb10).
Report is 79 commits behind head on master.

Additional details and impacted files
@@ Coverage Diff @@## master #3287 +/- ##
=======================================
Coverage 11.12% 11.13% =======================================
Files 99 99 Lines 17211 17211 Branches 8023 8023 =======================================
+ Hits 1915 1916 +1 
Misses 12737 12737 + Partials 2559 2558 -1 
FlagCoverage Δ
Linux8.42% <ø> (ø)
Windows5.19% <ø> (ø)
macOS-1313.60% <ø> (+0.01%)⬆️
macOS-1412.59% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

see 1 file with indirect coverage changes

@ReenigneArcher
ReenigneArcher enabled auto-merge (squash) October 16, 2024 18:26
@ReenigneArcher

Copy link
Copy Markdown
Member

Thanks for all the changes! This will be merged once all the CI passes

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@midwesternrodent@ReenigneArcher
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

docs(guides): add autostart guide - #3287

Merged
ReenigneArcher merged 27 commits into
LizardByte:masterfrom
midwesternrodent:master
Oct 16, 2024
Merged

docs(guides): add autostart guide#3287
ReenigneArcher merged 27 commits into
LizardByte:masterfrom
midwesternrodent:master

Conversation

@midwesternrodent

Copy link
Copy Markdown
Contributor

Description

Add a new guide for how to enable autostart for Sunshine without enabling autologin. This is the significantly revised document from my previous PR #3200

This guide works by first starting a system service that creates an SSH tunnel to the localhost to start sunshine, similar to Eric Dong's guide on Remote SSH headless setup, but we're SSHing from the local machine instead of a remote machine so you don't need to leave the moonlight client to get streaming setup. After you login to SDDM, there is a second user service that kills the first system service, and runs sunshine with the permissions of the graphical desktop; this is to fix the issues I encountered in #3200 where pipewire was not working, and the system tray icon did not appear.

This guide also gives some non-sunshine related advice around configuring SDDM so you don't end up with a situation where the display streaming to moonlight does not have the mouse captured on it.

There are a few caveats to this guide:

  1. When you login via moonlight, you will be temporarily disconnected until the next user service starts.
  2. I haven't found a way to disable sleep on the login screen, so sometimes the screen can time out and moonlight can't connect if you leave it sit too long. This would happen on Eric Dong's guide as well though.

I have also made some changes to Eric Dong's guide, one just to call out that there is an issue with pipewire audio over SSH and directing people to this guide to fix it.

The second edit, is more of a style / best practices change that I'm more than happy to drop from this PR if anyone disagrees. However, I did change the sections where they're editing a file in sudoers.d to use visudo rather than echoing the edits directly just for the sake of user safety.

I also added some tips to the KDE Plasma (X11, Wayland) section of the app config examples, just to call out how to find the names of the displays with kscreen-doctor since that was a little difficult for me to find online otherwise.

Problems with these documents:
I couldn't figure out how to do internal links properly, so I ended up hardlinking in quite a few areas to docs.lizardbyte.dev, and I imagine that's not the right way to do things. If someone can let me know how you'd like me to do those links, I can get them changed for you so they work better internally.

Because of this issue, I also wasn't able to link to my guide from Eric Dong's guide so once I know how to do the internal links, I'll want to add that just to redirect people.

Also - I didn't want to take away from Eric Dong's voice so I pointed out my authorship of the pipewire issue callout, but I did not call out that I made the visudo change. I don't really care about attribution in that (or any) part, I just wanted to make clear that the comments on pipewire's audio streaming issues over SSH were not from the original author of that guide. If you want me to change that, that's fine by me.

Let me know what I can do to help get this merged or make it more understandable. Thanks!

Screenshot

Issues Fixed or Closed

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Dependency update (updates to dependencies)
  • Documentation update (changes to documentation)
  • Repository update (changes to repository files, e.g. .github/...)

Checklist

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have added or updated the in code docstring/documentation-blocks for new or existing methods/components

@ReenigneArcherReenigneArcher changed the title docs(guides) Create a new guide for starting sunshine on boot without enabling autologin.docs(guides): add autostart guideOct 11, 2024

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the PR! Before I review this in detail, could you make the max line length of your changes 120 characters?

@midwesternrodent

Copy link
Copy Markdown
ContributorAuthor

Thanks for the PR! Before I review this in detail, could you make the max line length of your changes 120 characters?

Absolutely. I had a little extra time tonight and get them all reduced and fixed some spelling and formatting issues.

If there are any parts you'd like me to condense, please let me know - I fully recognize it's a book.

Do you have any tips on how you'd like me to handle the internal linking? Right now I'm doing things like this which seems wrong based on what I'm seeing in other guides. [Static IP Setup](https://docs.lizardbyte.dev/projects/sunshine/en/latest/about/guides/linux/headless_ssh.html#static-ip-setup)

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems to be great guide, and really informative! I learned a lot by reading all of this (although I haven't run through any of it myself).

My suggestions are mostly to improve formatting and consistency. Thank you!

Edit:

Do you have any tips on how you'd like me to handle the internal linking?

I have some suggestions below on that as well.

Comment threaddocs/app_examples.md Outdated
Comment threaddocs/app_examples.md Outdated
Comment threaddocs/app_examples.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md
@midwesternrodent

Copy link
Copy Markdown
ContributorAuthor

I've reviewed all your suggestions and they look great. Thank you for taking the time to do that, I'll certainly be taking some of your style suggestions to heart for future guides, they're very clean.

I don't want to merge this quite yet, because I remember finding an error in one of my commands the other day so I'm gonna take some time to proofread this once or twice more tomorrow and make sure I caught all of those. I'll let you know when I think it's perfect (or at least good enough).

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Found a few more things, but this is getting close.

If you want to see the docs rendered, they appear here https://lizardbyte--3287.org.readthedocs.build/projects/sunshine/en/3287/md_docs_2guides.html for your PR.

Comment threaddocs/app_examples.md
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/app_examples.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
@midwesternrodent

Copy link
Copy Markdown
ContributorAuthor

I think I've gotten all the issues with the last two proofreads, and we should be good to merge. Let me know if you agree, or if you think there are a few things left to change still. Thanks for all your help in moving this along, I appreciate it!

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for working through all these points!

I think these are my final requests.

I reviewed the rendered docs, and everything appears nice there.

Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
@midwesternrodent

Copy link
Copy Markdown
ContributorAuthor

Sounds good, I've accepted all of your suggestions. Let me know if there's anything else!

midwesternrodentand others added 18 commits October 16, 2024 14:15
Add a new guide for starting sunshine on boot, fixing streaming audio with pipewire, and configuring the displays for SDDM.
Also edit some of Eric Dong's guide on the Remote SSH Headless Setup, to call out the issues with pipewire.
Also edited the Remote SSH Headless guides to recommend users to edit with visudo to ensure they don't mess up their sudo configuration.
Add some tips on how to find the right monitor using kscreen-doctor on KDE Plasma for Wayland and X11.
Reduce the maximum line length to 120 characters.
Fix some spelling errors that Obsidian didn't pick up for me. (whoops!)
Accidentally expanded the KDE Plasma (Wayland, X11) table. Fixed it.
Fixed some spelling errors, formatting problems, and fixed the maximum line length to less than 120 characters.
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Apply formatting, grammar, and style suggestions.
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Testing some options for putting code in admonition blocks to see how they look on readthedocs.
Don't merge with these changes active, they'll look weird.
Applying all suggestions except those about code snippets in admonition blocks.
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Fixing the previously added codeblock changes to make sure they look right in readthedocs.
midwesternrodentand others added 9 commits October 16, 2024 14:15
Changing the @code{} and @encode blocks originally suggested to double and triple backticks.
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Fixing code snippets in admonition blocks.
Fixed the code block I broke on line 868 in a previous commit.
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Spelling, formatting, and style changes. Fixed a single misnamed command in one of the service files referenced in my guide.
minor grammar fix
Final proofread, fixed a few minor spelling and style problems.
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
@sonarqubecloud

Copy link
Copy Markdown

@codecov

codecovBot commented Oct 16, 2024

Copy link
Copy Markdown

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 11.13%. Comparing base (f429d34) to head (af3cb10).
Report is 79 commits behind head on master.

Additional details and impacted files
@@ Coverage Diff @@## master #3287 +/- ##
=======================================
Coverage 11.12% 11.13% =======================================
Files 99 99 Lines 17211 17211 Branches 8023 8023 =======================================
+ Hits 1915 1916 +1 
Misses 12737 12737 + Partials 2559 2558 -1 
FlagCoverage Δ
Linux8.42% <ø> (ø)
Windows5.19% <ø> (ø)
macOS-1313.60% <ø> (+0.01%)⬆️
macOS-1412.59% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

see 1 file with indirect coverage changes

@ReenigneArcher
ReenigneArcher enabled auto-merge (squash) October 16, 2024 18:26
@ReenigneArcher

Copy link
Copy Markdown
Member

Thanks for all the changes! This will be merged once all the CI passes

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@midwesternrodent@ReenigneArcher
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

docs(guides): add autostart guide - #3287

Merged
ReenigneArcher merged 27 commits into
LizardByte:masterfrom
midwesternrodent:master
Oct 16, 2024
Merged

docs(guides): add autostart guide#3287
ReenigneArcher merged 27 commits into
LizardByte:masterfrom
midwesternrodent:master

Conversation

@midwesternrodent

Copy link
Copy Markdown
Contributor

Description

Add a new guide for how to enable autostart for Sunshine without enabling autologin. This is the significantly revised document from my previous PR #3200

This guide works by first starting a system service that creates an SSH tunnel to the localhost to start sunshine, similar to Eric Dong's guide on Remote SSH headless setup, but we're SSHing from the local machine instead of a remote machine so you don't need to leave the moonlight client to get streaming setup. After you login to SDDM, there is a second user service that kills the first system service, and runs sunshine with the permissions of the graphical desktop; this is to fix the issues I encountered in #3200 where pipewire was not working, and the system tray icon did not appear.

This guide also gives some non-sunshine related advice around configuring SDDM so you don't end up with a situation where the display streaming to moonlight does not have the mouse captured on it.

There are a few caveats to this guide:

  1. When you login via moonlight, you will be temporarily disconnected until the next user service starts.
  2. I haven't found a way to disable sleep on the login screen, so sometimes the screen can time out and moonlight can't connect if you leave it sit too long. This would happen on Eric Dong's guide as well though.

I have also made some changes to Eric Dong's guide, one just to call out that there is an issue with pipewire audio over SSH and directing people to this guide to fix it.

The second edit, is more of a style / best practices change that I'm more than happy to drop from this PR if anyone disagrees. However, I did change the sections where they're editing a file in sudoers.d to use visudo rather than echoing the edits directly just for the sake of user safety.

I also added some tips to the KDE Plasma (X11, Wayland) section of the app config examples, just to call out how to find the names of the displays with kscreen-doctor since that was a little difficult for me to find online otherwise.

Problems with these documents:
I couldn't figure out how to do internal links properly, so I ended up hardlinking in quite a few areas to docs.lizardbyte.dev, and I imagine that's not the right way to do things. If someone can let me know how you'd like me to do those links, I can get them changed for you so they work better internally.

Because of this issue, I also wasn't able to link to my guide from Eric Dong's guide so once I know how to do the internal links, I'll want to add that just to redirect people.

Also - I didn't want to take away from Eric Dong's voice so I pointed out my authorship of the pipewire issue callout, but I did not call out that I made the visudo change. I don't really care about attribution in that (or any) part, I just wanted to make clear that the comments on pipewire's audio streaming issues over SSH were not from the original author of that guide. If you want me to change that, that's fine by me.

Let me know what I can do to help get this merged or make it more understandable. Thanks!

Screenshot

Issues Fixed or Closed

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Dependency update (updates to dependencies)
  • Documentation update (changes to documentation)
  • Repository update (changes to repository files, e.g. .github/...)

Checklist

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have added or updated the in code docstring/documentation-blocks for new or existing methods/components

@ReenigneArcherReenigneArcher changed the title docs(guides) Create a new guide for starting sunshine on boot without enabling autologin.docs(guides): add autostart guideOct 11, 2024

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the PR! Before I review this in detail, could you make the max line length of your changes 120 characters?

@midwesternrodent

Copy link
Copy Markdown
ContributorAuthor

Thanks for the PR! Before I review this in detail, could you make the max line length of your changes 120 characters?

Absolutely. I had a little extra time tonight and get them all reduced and fixed some spelling and formatting issues.

If there are any parts you'd like me to condense, please let me know - I fully recognize it's a book.

Do you have any tips on how you'd like me to handle the internal linking? Right now I'm doing things like this which seems wrong based on what I'm seeing in other guides. [Static IP Setup](https://docs.lizardbyte.dev/projects/sunshine/en/latest/about/guides/linux/headless_ssh.html#static-ip-setup)

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems to be great guide, and really informative! I learned a lot by reading all of this (although I haven't run through any of it myself).

My suggestions are mostly to improve formatting and consistency. Thank you!

Edit:

Do you have any tips on how you'd like me to handle the internal linking?

I have some suggestions below on that as well.

Comment threaddocs/app_examples.md Outdated
Comment threaddocs/app_examples.md Outdated
Comment threaddocs/app_examples.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md
@midwesternrodent

Copy link
Copy Markdown
ContributorAuthor

I've reviewed all your suggestions and they look great. Thank you for taking the time to do that, I'll certainly be taking some of your style suggestions to heart for future guides, they're very clean.

I don't want to merge this quite yet, because I remember finding an error in one of my commands the other day so I'm gonna take some time to proofread this once or twice more tomorrow and make sure I caught all of those. I'll let you know when I think it's perfect (or at least good enough).

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Found a few more things, but this is getting close.

If you want to see the docs rendered, they appear here https://lizardbyte--3287.org.readthedocs.build/projects/sunshine/en/3287/md_docs_2guides.html for your PR.

Comment threaddocs/app_examples.md
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/app_examples.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
@midwesternrodent

Copy link
Copy Markdown
ContributorAuthor

I think I've gotten all the issues with the last two proofreads, and we should be good to merge. Let me know if you agree, or if you think there are a few things left to change still. Thanks for all your help in moving this along, I appreciate it!

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for working through all these points!

I think these are my final requests.

I reviewed the rendered docs, and everything appears nice there.

Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
@midwesternrodent

Copy link
Copy Markdown
ContributorAuthor

Sounds good, I've accepted all of your suggestions. Let me know if there's anything else!

midwesternrodentand others added 18 commits October 16, 2024 14:15
Add a new guide for starting sunshine on boot, fixing streaming audio with pipewire, and configuring the displays for SDDM.
Also edit some of Eric Dong's guide on the Remote SSH Headless Setup, to call out the issues with pipewire.
Also edited the Remote SSH Headless guides to recommend users to edit with visudo to ensure they don't mess up their sudo configuration.
Add some tips on how to find the right monitor using kscreen-doctor on KDE Plasma for Wayland and X11.
Reduce the maximum line length to 120 characters.
Fix some spelling errors that Obsidian didn't pick up for me. (whoops!)
Accidentally expanded the KDE Plasma (Wayland, X11) table. Fixed it.
Fixed some spelling errors, formatting problems, and fixed the maximum line length to less than 120 characters.
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Apply formatting, grammar, and style suggestions.
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Testing some options for putting code in admonition blocks to see how they look on readthedocs.
Don't merge with these changes active, they'll look weird.
Applying all suggestions except those about code snippets in admonition blocks.
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Fixing the previously added codeblock changes to make sure they look right in readthedocs.
midwesternrodentand others added 9 commits October 16, 2024 14:15
Changing the @code{} and @encode blocks originally suggested to double and triple backticks.
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Fixing code snippets in admonition blocks.
Fixed the code block I broke on line 868 in a previous commit.
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Spelling, formatting, and style changes. Fixed a single misnamed command in one of the service files referenced in my guide.
minor grammar fix
Final proofread, fixed a few minor spelling and style problems.
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
@sonarqubecloud

Copy link
Copy Markdown

@codecov

codecovBot commented Oct 16, 2024

Copy link
Copy Markdown

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 11.13%. Comparing base (f429d34) to head (af3cb10).
Report is 79 commits behind head on master.

Additional details and impacted files
@@ Coverage Diff @@## master #3287 +/- ##
=======================================
Coverage 11.12% 11.13% =======================================
Files 99 99 Lines 17211 17211 Branches 8023 8023 =======================================
+ Hits 1915 1916 +1 
Misses 12737 12737 + Partials 2559 2558 -1 
FlagCoverage Δ
Linux8.42% <ø> (ø)
Windows5.19% <ø> (ø)
macOS-1313.60% <ø> (+0.01%)⬆️
macOS-1412.59% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

see 1 file with indirect coverage changes

@ReenigneArcher
ReenigneArcher enabled auto-merge (squash) October 16, 2024 18:26
@ReenigneArcher

Copy link
Copy Markdown
Member

Thanks for all the changes! This will be merged once all the CI passes

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@midwesternrodent@ReenigneArcher
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

docs(guides): add autostart guide - #3287

Merged
ReenigneArcher merged 27 commits into
LizardByte:masterfrom
midwesternrodent:master
Oct 16, 2024
Merged

docs(guides): add autostart guide#3287
ReenigneArcher merged 27 commits into
LizardByte:masterfrom
midwesternrodent:master

Conversation

@midwesternrodent

Copy link
Copy Markdown
Contributor

Description

Add a new guide for how to enable autostart for Sunshine without enabling autologin. This is the significantly revised document from my previous PR #3200

This guide works by first starting a system service that creates an SSH tunnel to the localhost to start sunshine, similar to Eric Dong's guide on Remote SSH headless setup, but we're SSHing from the local machine instead of a remote machine so you don't need to leave the moonlight client to get streaming setup. After you login to SDDM, there is a second user service that kills the first system service, and runs sunshine with the permissions of the graphical desktop; this is to fix the issues I encountered in #3200 where pipewire was not working, and the system tray icon did not appear.

This guide also gives some non-sunshine related advice around configuring SDDM so you don't end up with a situation where the display streaming to moonlight does not have the mouse captured on it.

There are a few caveats to this guide:

  1. When you login via moonlight, you will be temporarily disconnected until the next user service starts.
  2. I haven't found a way to disable sleep on the login screen, so sometimes the screen can time out and moonlight can't connect if you leave it sit too long. This would happen on Eric Dong's guide as well though.

I have also made some changes to Eric Dong's guide, one just to call out that there is an issue with pipewire audio over SSH and directing people to this guide to fix it.

The second edit, is more of a style / best practices change that I'm more than happy to drop from this PR if anyone disagrees. However, I did change the sections where they're editing a file in sudoers.d to use visudo rather than echoing the edits directly just for the sake of user safety.

I also added some tips to the KDE Plasma (X11, Wayland) section of the app config examples, just to call out how to find the names of the displays with kscreen-doctor since that was a little difficult for me to find online otherwise.

Problems with these documents:
I couldn't figure out how to do internal links properly, so I ended up hardlinking in quite a few areas to docs.lizardbyte.dev, and I imagine that's not the right way to do things. If someone can let me know how you'd like me to do those links, I can get them changed for you so they work better internally.

Because of this issue, I also wasn't able to link to my guide from Eric Dong's guide so once I know how to do the internal links, I'll want to add that just to redirect people.

Also - I didn't want to take away from Eric Dong's voice so I pointed out my authorship of the pipewire issue callout, but I did not call out that I made the visudo change. I don't really care about attribution in that (or any) part, I just wanted to make clear that the comments on pipewire's audio streaming issues over SSH were not from the original author of that guide. If you want me to change that, that's fine by me.

Let me know what I can do to help get this merged or make it more understandable. Thanks!

Screenshot

Issues Fixed or Closed

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Dependency update (updates to dependencies)
  • Documentation update (changes to documentation)
  • Repository update (changes to repository files, e.g. .github/...)

Checklist

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have added or updated the in code docstring/documentation-blocks for new or existing methods/components

@ReenigneArcherReenigneArcher changed the title docs(guides) Create a new guide for starting sunshine on boot without enabling autologin.docs(guides): add autostart guideOct 11, 2024

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the PR! Before I review this in detail, could you make the max line length of your changes 120 characters?

@midwesternrodent

Copy link
Copy Markdown
ContributorAuthor

Thanks for the PR! Before I review this in detail, could you make the max line length of your changes 120 characters?

Absolutely. I had a little extra time tonight and get them all reduced and fixed some spelling and formatting issues.

If there are any parts you'd like me to condense, please let me know - I fully recognize it's a book.

Do you have any tips on how you'd like me to handle the internal linking? Right now I'm doing things like this which seems wrong based on what I'm seeing in other guides. [Static IP Setup](https://docs.lizardbyte.dev/projects/sunshine/en/latest/about/guides/linux/headless_ssh.html#static-ip-setup)

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems to be great guide, and really informative! I learned a lot by reading all of this (although I haven't run through any of it myself).

My suggestions are mostly to improve formatting and consistency. Thank you!

Edit:

Do you have any tips on how you'd like me to handle the internal linking?

I have some suggestions below on that as well.

Comment threaddocs/app_examples.md Outdated
Comment threaddocs/app_examples.md Outdated
Comment threaddocs/app_examples.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md
@midwesternrodent

Copy link
Copy Markdown
ContributorAuthor

I've reviewed all your suggestions and they look great. Thank you for taking the time to do that, I'll certainly be taking some of your style suggestions to heart for future guides, they're very clean.

I don't want to merge this quite yet, because I remember finding an error in one of my commands the other day so I'm gonna take some time to proofread this once or twice more tomorrow and make sure I caught all of those. I'll let you know when I think it's perfect (or at least good enough).

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Found a few more things, but this is getting close.

If you want to see the docs rendered, they appear here https://lizardbyte--3287.org.readthedocs.build/projects/sunshine/en/3287/md_docs_2guides.html for your PR.

Comment threaddocs/app_examples.md
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/app_examples.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
@midwesternrodent

Copy link
Copy Markdown
ContributorAuthor

I think I've gotten all the issues with the last two proofreads, and we should be good to merge. Let me know if you agree, or if you think there are a few things left to change still. Thanks for all your help in moving this along, I appreciate it!

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for working through all these points!

I think these are my final requests.

I reviewed the rendered docs, and everything appears nice there.

Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
@midwesternrodent

Copy link
Copy Markdown
ContributorAuthor

Sounds good, I've accepted all of your suggestions. Let me know if there's anything else!

midwesternrodentand others added 18 commits October 16, 2024 14:15
Add a new guide for starting sunshine on boot, fixing streaming audio with pipewire, and configuring the displays for SDDM.
Also edit some of Eric Dong's guide on the Remote SSH Headless Setup, to call out the issues with pipewire.
Also edited the Remote SSH Headless guides to recommend users to edit with visudo to ensure they don't mess up their sudo configuration.
Add some tips on how to find the right monitor using kscreen-doctor on KDE Plasma for Wayland and X11.
Reduce the maximum line length to 120 characters.
Fix some spelling errors that Obsidian didn't pick up for me. (whoops!)
Accidentally expanded the KDE Plasma (Wayland, X11) table. Fixed it.
Fixed some spelling errors, formatting problems, and fixed the maximum line length to less than 120 characters.
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Apply formatting, grammar, and style suggestions.
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Testing some options for putting code in admonition blocks to see how they look on readthedocs.
Don't merge with these changes active, they'll look weird.
Applying all suggestions except those about code snippets in admonition blocks.
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Fixing the previously added codeblock changes to make sure they look right in readthedocs.
midwesternrodentand others added 9 commits October 16, 2024 14:15
Changing the @code{} and @encode blocks originally suggested to double and triple backticks.
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Fixing code snippets in admonition blocks.
Fixed the code block I broke on line 868 in a previous commit.
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Spelling, formatting, and style changes. Fixed a single misnamed command in one of the service files referenced in my guide.
minor grammar fix
Final proofread, fixed a few minor spelling and style problems.
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
@sonarqubecloud

Copy link
Copy Markdown

@codecov

codecovBot commented Oct 16, 2024

Copy link
Copy Markdown

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 11.13%. Comparing base (f429d34) to head (af3cb10).
Report is 79 commits behind head on master.

Additional details and impacted files
@@ Coverage Diff @@## master #3287 +/- ##
=======================================
Coverage 11.12% 11.13% =======================================
Files 99 99 Lines 17211 17211 Branches 8023 8023 =======================================
+ Hits 1915 1916 +1 
Misses 12737 12737 + Partials 2559 2558 -1 
FlagCoverage Δ
Linux8.42% <ø> (ø)
Windows5.19% <ø> (ø)
macOS-1313.60% <ø> (+0.01%)⬆️
macOS-1412.59% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

see 1 file with indirect coverage changes

@ReenigneArcher
ReenigneArcher enabled auto-merge (squash) October 16, 2024 18:26
@ReenigneArcher

Copy link
Copy Markdown
Member

Thanks for all the changes! This will be merged once all the CI passes

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@midwesternrodent@ReenigneArcher
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

docs(guides): add autostart guide - #3287

Merged
ReenigneArcher merged 27 commits into
LizardByte:masterfrom
midwesternrodent:master
Oct 16, 2024
Merged

docs(guides): add autostart guide#3287
ReenigneArcher merged 27 commits into
LizardByte:masterfrom
midwesternrodent:master

Conversation

@midwesternrodent

Copy link
Copy Markdown
Contributor

Description

Add a new guide for how to enable autostart for Sunshine without enabling autologin. This is the significantly revised document from my previous PR #3200

This guide works by first starting a system service that creates an SSH tunnel to the localhost to start sunshine, similar to Eric Dong's guide on Remote SSH headless setup, but we're SSHing from the local machine instead of a remote machine so you don't need to leave the moonlight client to get streaming setup. After you login to SDDM, there is a second user service that kills the first system service, and runs sunshine with the permissions of the graphical desktop; this is to fix the issues I encountered in #3200 where pipewire was not working, and the system tray icon did not appear.

This guide also gives some non-sunshine related advice around configuring SDDM so you don't end up with a situation where the display streaming to moonlight does not have the mouse captured on it.

There are a few caveats to this guide:

  1. When you login via moonlight, you will be temporarily disconnected until the next user service starts.
  2. I haven't found a way to disable sleep on the login screen, so sometimes the screen can time out and moonlight can't connect if you leave it sit too long. This would happen on Eric Dong's guide as well though.

I have also made some changes to Eric Dong's guide, one just to call out that there is an issue with pipewire audio over SSH and directing people to this guide to fix it.

The second edit, is more of a style / best practices change that I'm more than happy to drop from this PR if anyone disagrees. However, I did change the sections where they're editing a file in sudoers.d to use visudo rather than echoing the edits directly just for the sake of user safety.

I also added some tips to the KDE Plasma (X11, Wayland) section of the app config examples, just to call out how to find the names of the displays with kscreen-doctor since that was a little difficult for me to find online otherwise.

Problems with these documents:
I couldn't figure out how to do internal links properly, so I ended up hardlinking in quite a few areas to docs.lizardbyte.dev, and I imagine that's not the right way to do things. If someone can let me know how you'd like me to do those links, I can get them changed for you so they work better internally.

Because of this issue, I also wasn't able to link to my guide from Eric Dong's guide so once I know how to do the internal links, I'll want to add that just to redirect people.

Also - I didn't want to take away from Eric Dong's voice so I pointed out my authorship of the pipewire issue callout, but I did not call out that I made the visudo change. I don't really care about attribution in that (or any) part, I just wanted to make clear that the comments on pipewire's audio streaming issues over SSH were not from the original author of that guide. If you want me to change that, that's fine by me.

Let me know what I can do to help get this merged or make it more understandable. Thanks!

Screenshot

Issues Fixed or Closed

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Dependency update (updates to dependencies)
  • Documentation update (changes to documentation)
  • Repository update (changes to repository files, e.g. .github/...)

Checklist

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have added or updated the in code docstring/documentation-blocks for new or existing methods/components

@ReenigneArcherReenigneArcher changed the title docs(guides) Create a new guide for starting sunshine on boot without enabling autologin.docs(guides): add autostart guideOct 11, 2024

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the PR! Before I review this in detail, could you make the max line length of your changes 120 characters?

@midwesternrodent

Copy link
Copy Markdown
ContributorAuthor

Thanks for the PR! Before I review this in detail, could you make the max line length of your changes 120 characters?

Absolutely. I had a little extra time tonight and get them all reduced and fixed some spelling and formatting issues.

If there are any parts you'd like me to condense, please let me know - I fully recognize it's a book.

Do you have any tips on how you'd like me to handle the internal linking? Right now I'm doing things like this which seems wrong based on what I'm seeing in other guides. [Static IP Setup](https://docs.lizardbyte.dev/projects/sunshine/en/latest/about/guides/linux/headless_ssh.html#static-ip-setup)

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems to be great guide, and really informative! I learned a lot by reading all of this (although I haven't run through any of it myself).

My suggestions are mostly to improve formatting and consistency. Thank you!

Edit:

Do you have any tips on how you'd like me to handle the internal linking?

I have some suggestions below on that as well.

Comment threaddocs/app_examples.md Outdated
Comment threaddocs/app_examples.md Outdated
Comment threaddocs/app_examples.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md
@midwesternrodent

Copy link
Copy Markdown
ContributorAuthor

I've reviewed all your suggestions and they look great. Thank you for taking the time to do that, I'll certainly be taking some of your style suggestions to heart for future guides, they're very clean.

I don't want to merge this quite yet, because I remember finding an error in one of my commands the other day so I'm gonna take some time to proofread this once or twice more tomorrow and make sure I caught all of those. I'll let you know when I think it's perfect (or at least good enough).

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Found a few more things, but this is getting close.

If you want to see the docs rendered, they appear here https://lizardbyte--3287.org.readthedocs.build/projects/sunshine/en/3287/md_docs_2guides.html for your PR.

Comment threaddocs/app_examples.md
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/app_examples.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
@midwesternrodent

Copy link
Copy Markdown
ContributorAuthor

I think I've gotten all the issues with the last two proofreads, and we should be good to merge. Let me know if you agree, or if you think there are a few things left to change still. Thanks for all your help in moving this along, I appreciate it!

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for working through all these points!

I think these are my final requests.

I reviewed the rendered docs, and everything appears nice there.

Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
@midwesternrodent

Copy link
Copy Markdown
ContributorAuthor

Sounds good, I've accepted all of your suggestions. Let me know if there's anything else!

midwesternrodentand others added 18 commits October 16, 2024 14:15
Add a new guide for starting sunshine on boot, fixing streaming audio with pipewire, and configuring the displays for SDDM.
Also edit some of Eric Dong's guide on the Remote SSH Headless Setup, to call out the issues with pipewire.
Also edited the Remote SSH Headless guides to recommend users to edit with visudo to ensure they don't mess up their sudo configuration.
Add some tips on how to find the right monitor using kscreen-doctor on KDE Plasma for Wayland and X11.
Reduce the maximum line length to 120 characters.
Fix some spelling errors that Obsidian didn't pick up for me. (whoops!)
Accidentally expanded the KDE Plasma (Wayland, X11) table. Fixed it.
Fixed some spelling errors, formatting problems, and fixed the maximum line length to less than 120 characters.
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Apply formatting, grammar, and style suggestions.
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Testing some options for putting code in admonition blocks to see how they look on readthedocs.
Don't merge with these changes active, they'll look weird.
Applying all suggestions except those about code snippets in admonition blocks.
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Fixing the previously added codeblock changes to make sure they look right in readthedocs.
midwesternrodentand others added 9 commits October 16, 2024 14:15
Changing the @code{} and @encode blocks originally suggested to double and triple backticks.
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Fixing code snippets in admonition blocks.
Fixed the code block I broke on line 868 in a previous commit.
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Spelling, formatting, and style changes. Fixed a single misnamed command in one of the service files referenced in my guide.
minor grammar fix
Final proofread, fixed a few minor spelling and style problems.
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
@sonarqubecloud

Copy link
Copy Markdown

@codecov

codecovBot commented Oct 16, 2024

Copy link
Copy Markdown

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 11.13%. Comparing base (f429d34) to head (af3cb10).
Report is 79 commits behind head on master.

Additional details and impacted files
@@ Coverage Diff @@## master #3287 +/- ##
=======================================
Coverage 11.12% 11.13% =======================================
Files 99 99 Lines 17211 17211 Branches 8023 8023 =======================================
+ Hits 1915 1916 +1 
Misses 12737 12737 + Partials 2559 2558 -1 
FlagCoverage Δ
Linux8.42% <ø> (ø)
Windows5.19% <ø> (ø)
macOS-1313.60% <ø> (+0.01%)⬆️
macOS-1412.59% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

see 1 file with indirect coverage changes

@ReenigneArcher
ReenigneArcher enabled auto-merge (squash) October 16, 2024 18:26
@ReenigneArcher

Copy link
Copy Markdown
Member

Thanks for all the changes! This will be merged once all the CI passes

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@midwesternrodent@ReenigneArcher
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

docs(guides): add autostart guide - #3287

Merged
ReenigneArcher merged 27 commits into
LizardByte:masterfrom
midwesternrodent:master
Oct 16, 2024
Merged

docs(guides): add autostart guide#3287
ReenigneArcher merged 27 commits into
LizardByte:masterfrom
midwesternrodent:master

Conversation

@midwesternrodent

Copy link
Copy Markdown
Contributor

Description

Add a new guide for how to enable autostart for Sunshine without enabling autologin. This is the significantly revised document from my previous PR #3200

This guide works by first starting a system service that creates an SSH tunnel to the localhost to start sunshine, similar to Eric Dong's guide on Remote SSH headless setup, but we're SSHing from the local machine instead of a remote machine so you don't need to leave the moonlight client to get streaming setup. After you login to SDDM, there is a second user service that kills the first system service, and runs sunshine with the permissions of the graphical desktop; this is to fix the issues I encountered in #3200 where pipewire was not working, and the system tray icon did not appear.

This guide also gives some non-sunshine related advice around configuring SDDM so you don't end up with a situation where the display streaming to moonlight does not have the mouse captured on it.

There are a few caveats to this guide:

  1. When you login via moonlight, you will be temporarily disconnected until the next user service starts.
  2. I haven't found a way to disable sleep on the login screen, so sometimes the screen can time out and moonlight can't connect if you leave it sit too long. This would happen on Eric Dong's guide as well though.

I have also made some changes to Eric Dong's guide, one just to call out that there is an issue with pipewire audio over SSH and directing people to this guide to fix it.

The second edit, is more of a style / best practices change that I'm more than happy to drop from this PR if anyone disagrees. However, I did change the sections where they're editing a file in sudoers.d to use visudo rather than echoing the edits directly just for the sake of user safety.

I also added some tips to the KDE Plasma (X11, Wayland) section of the app config examples, just to call out how to find the names of the displays with kscreen-doctor since that was a little difficult for me to find online otherwise.

Problems with these documents:
I couldn't figure out how to do internal links properly, so I ended up hardlinking in quite a few areas to docs.lizardbyte.dev, and I imagine that's not the right way to do things. If someone can let me know how you'd like me to do those links, I can get them changed for you so they work better internally.

Because of this issue, I also wasn't able to link to my guide from Eric Dong's guide so once I know how to do the internal links, I'll want to add that just to redirect people.

Also - I didn't want to take away from Eric Dong's voice so I pointed out my authorship of the pipewire issue callout, but I did not call out that I made the visudo change. I don't really care about attribution in that (or any) part, I just wanted to make clear that the comments on pipewire's audio streaming issues over SSH were not from the original author of that guide. If you want me to change that, that's fine by me.

Let me know what I can do to help get this merged or make it more understandable. Thanks!

Screenshot

Issues Fixed or Closed

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Dependency update (updates to dependencies)
  • Documentation update (changes to documentation)
  • Repository update (changes to repository files, e.g. .github/...)

Checklist

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have added or updated the in code docstring/documentation-blocks for new or existing methods/components

@ReenigneArcherReenigneArcher changed the title docs(guides) Create a new guide for starting sunshine on boot without enabling autologin.docs(guides): add autostart guideOct 11, 2024

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the PR! Before I review this in detail, could you make the max line length of your changes 120 characters?

@midwesternrodent

Copy link
Copy Markdown
ContributorAuthor

Thanks for the PR! Before I review this in detail, could you make the max line length of your changes 120 characters?

Absolutely. I had a little extra time tonight and get them all reduced and fixed some spelling and formatting issues.

If there are any parts you'd like me to condense, please let me know - I fully recognize it's a book.

Do you have any tips on how you'd like me to handle the internal linking? Right now I'm doing things like this which seems wrong based on what I'm seeing in other guides. [Static IP Setup](https://docs.lizardbyte.dev/projects/sunshine/en/latest/about/guides/linux/headless_ssh.html#static-ip-setup)

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems to be great guide, and really informative! I learned a lot by reading all of this (although I haven't run through any of it myself).

My suggestions are mostly to improve formatting and consistency. Thank you!

Edit:

Do you have any tips on how you'd like me to handle the internal linking?

I have some suggestions below on that as well.

Comment threaddocs/app_examples.md Outdated
Comment threaddocs/app_examples.md Outdated
Comment threaddocs/app_examples.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md
@midwesternrodent

Copy link
Copy Markdown
ContributorAuthor

I've reviewed all your suggestions and they look great. Thank you for taking the time to do that, I'll certainly be taking some of your style suggestions to heart for future guides, they're very clean.

I don't want to merge this quite yet, because I remember finding an error in one of my commands the other day so I'm gonna take some time to proofread this once or twice more tomorrow and make sure I caught all of those. I'll let you know when I think it's perfect (or at least good enough).

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Found a few more things, but this is getting close.

If you want to see the docs rendered, they appear here https://lizardbyte--3287.org.readthedocs.build/projects/sunshine/en/3287/md_docs_2guides.html for your PR.

Comment threaddocs/app_examples.md
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/app_examples.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
@midwesternrodent

Copy link
Copy Markdown
ContributorAuthor

I think I've gotten all the issues with the last two proofreads, and we should be good to merge. Let me know if you agree, or if you think there are a few things left to change still. Thanks for all your help in moving this along, I appreciate it!

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for working through all these points!

I think these are my final requests.

I reviewed the rendered docs, and everything appears nice there.

Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
@midwesternrodent

Copy link
Copy Markdown
ContributorAuthor

Sounds good, I've accepted all of your suggestions. Let me know if there's anything else!

midwesternrodentand others added 18 commits October 16, 2024 14:15
Add a new guide for starting sunshine on boot, fixing streaming audio with pipewire, and configuring the displays for SDDM.
Also edit some of Eric Dong's guide on the Remote SSH Headless Setup, to call out the issues with pipewire.
Also edited the Remote SSH Headless guides to recommend users to edit with visudo to ensure they don't mess up their sudo configuration.
Add some tips on how to find the right monitor using kscreen-doctor on KDE Plasma for Wayland and X11.
Reduce the maximum line length to 120 characters.
Fix some spelling errors that Obsidian didn't pick up for me. (whoops!)
Accidentally expanded the KDE Plasma (Wayland, X11) table. Fixed it.
Fixed some spelling errors, formatting problems, and fixed the maximum line length to less than 120 characters.
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Apply formatting, grammar, and style suggestions.
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Testing some options for putting code in admonition blocks to see how they look on readthedocs.
Don't merge with these changes active, they'll look weird.
Applying all suggestions except those about code snippets in admonition blocks.
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Fixing the previously added codeblock changes to make sure they look right in readthedocs.
midwesternrodentand others added 9 commits October 16, 2024 14:15
Changing the @code{} and @encode blocks originally suggested to double and triple backticks.
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Fixing code snippets in admonition blocks.
Fixed the code block I broke on line 868 in a previous commit.
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Spelling, formatting, and style changes. Fixed a single misnamed command in one of the service files referenced in my guide.
minor grammar fix
Final proofread, fixed a few minor spelling and style problems.
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
@sonarqubecloud

Copy link
Copy Markdown

@codecov

codecovBot commented Oct 16, 2024

Copy link
Copy Markdown

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 11.13%. Comparing base (f429d34) to head (af3cb10).
Report is 79 commits behind head on master.

Additional details and impacted files
@@ Coverage Diff @@## master #3287 +/- ##
=======================================
Coverage 11.12% 11.13% =======================================
Files 99 99 Lines 17211 17211 Branches 8023 8023 =======================================
+ Hits 1915 1916 +1 
Misses 12737 12737 + Partials 2559 2558 -1 
FlagCoverage Δ
Linux8.42% <ø> (ø)
Windows5.19% <ø> (ø)
macOS-1313.60% <ø> (+0.01%)⬆️
macOS-1412.59% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

see 1 file with indirect coverage changes

@ReenigneArcher
ReenigneArcher enabled auto-merge (squash) October 16, 2024 18:26
@ReenigneArcher

Copy link
Copy Markdown
Member

Thanks for all the changes! This will be merged once all the CI passes

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@midwesternrodent@ReenigneArcher
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

docs(guides): add autostart guide - #3287

Merged
ReenigneArcher merged 27 commits into
LizardByte:masterfrom
midwesternrodent:master
Oct 16, 2024
Merged

docs(guides): add autostart guide#3287
ReenigneArcher merged 27 commits into
LizardByte:masterfrom
midwesternrodent:master

Conversation

@midwesternrodent

Copy link
Copy Markdown
Contributor

Description

Add a new guide for how to enable autostart for Sunshine without enabling autologin. This is the significantly revised document from my previous PR #3200

This guide works by first starting a system service that creates an SSH tunnel to the localhost to start sunshine, similar to Eric Dong's guide on Remote SSH headless setup, but we're SSHing from the local machine instead of a remote machine so you don't need to leave the moonlight client to get streaming setup. After you login to SDDM, there is a second user service that kills the first system service, and runs sunshine with the permissions of the graphical desktop; this is to fix the issues I encountered in #3200 where pipewire was not working, and the system tray icon did not appear.

This guide also gives some non-sunshine related advice around configuring SDDM so you don't end up with a situation where the display streaming to moonlight does not have the mouse captured on it.

There are a few caveats to this guide:

  1. When you login via moonlight, you will be temporarily disconnected until the next user service starts.
  2. I haven't found a way to disable sleep on the login screen, so sometimes the screen can time out and moonlight can't connect if you leave it sit too long. This would happen on Eric Dong's guide as well though.

I have also made some changes to Eric Dong's guide, one just to call out that there is an issue with pipewire audio over SSH and directing people to this guide to fix it.

The second edit, is more of a style / best practices change that I'm more than happy to drop from this PR if anyone disagrees. However, I did change the sections where they're editing a file in sudoers.d to use visudo rather than echoing the edits directly just for the sake of user safety.

I also added some tips to the KDE Plasma (X11, Wayland) section of the app config examples, just to call out how to find the names of the displays with kscreen-doctor since that was a little difficult for me to find online otherwise.

Problems with these documents:
I couldn't figure out how to do internal links properly, so I ended up hardlinking in quite a few areas to docs.lizardbyte.dev, and I imagine that's not the right way to do things. If someone can let me know how you'd like me to do those links, I can get them changed for you so they work better internally.

Because of this issue, I also wasn't able to link to my guide from Eric Dong's guide so once I know how to do the internal links, I'll want to add that just to redirect people.

Also - I didn't want to take away from Eric Dong's voice so I pointed out my authorship of the pipewire issue callout, but I did not call out that I made the visudo change. I don't really care about attribution in that (or any) part, I just wanted to make clear that the comments on pipewire's audio streaming issues over SSH were not from the original author of that guide. If you want me to change that, that's fine by me.

Let me know what I can do to help get this merged or make it more understandable. Thanks!

Screenshot

Issues Fixed or Closed

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Dependency update (updates to dependencies)
  • Documentation update (changes to documentation)
  • Repository update (changes to repository files, e.g. .github/...)

Checklist

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have added or updated the in code docstring/documentation-blocks for new or existing methods/components

@ReenigneArcherReenigneArcher changed the title docs(guides) Create a new guide for starting sunshine on boot without enabling autologin.docs(guides): add autostart guideOct 11, 2024

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the PR! Before I review this in detail, could you make the max line length of your changes 120 characters?

@midwesternrodent

Copy link
Copy Markdown
ContributorAuthor

Thanks for the PR! Before I review this in detail, could you make the max line length of your changes 120 characters?

Absolutely. I had a little extra time tonight and get them all reduced and fixed some spelling and formatting issues.

If there are any parts you'd like me to condense, please let me know - I fully recognize it's a book.

Do you have any tips on how you'd like me to handle the internal linking? Right now I'm doing things like this which seems wrong based on what I'm seeing in other guides. [Static IP Setup](https://docs.lizardbyte.dev/projects/sunshine/en/latest/about/guides/linux/headless_ssh.html#static-ip-setup)

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems to be great guide, and really informative! I learned a lot by reading all of this (although I haven't run through any of it myself).

My suggestions are mostly to improve formatting and consistency. Thank you!

Edit:

Do you have any tips on how you'd like me to handle the internal linking?

I have some suggestions below on that as well.

Comment threaddocs/app_examples.md Outdated
Comment threaddocs/app_examples.md Outdated
Comment threaddocs/app_examples.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md
@midwesternrodent

Copy link
Copy Markdown
ContributorAuthor

I've reviewed all your suggestions and they look great. Thank you for taking the time to do that, I'll certainly be taking some of your style suggestions to heart for future guides, they're very clean.

I don't want to merge this quite yet, because I remember finding an error in one of my commands the other day so I'm gonna take some time to proofread this once or twice more tomorrow and make sure I caught all of those. I'll let you know when I think it's perfect (or at least good enough).

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Found a few more things, but this is getting close.

If you want to see the docs rendered, they appear here https://lizardbyte--3287.org.readthedocs.build/projects/sunshine/en/3287/md_docs_2guides.html for your PR.

Comment threaddocs/app_examples.md
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/app_examples.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
@midwesternrodent

Copy link
Copy Markdown
ContributorAuthor

I think I've gotten all the issues with the last two proofreads, and we should be good to merge. Let me know if you agree, or if you think there are a few things left to change still. Thanks for all your help in moving this along, I appreciate it!

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for working through all these points!

I think these are my final requests.

I reviewed the rendered docs, and everything appears nice there.

Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
Comment threaddocs/guides.md Outdated
@midwesternrodent

Copy link
Copy Markdown
ContributorAuthor

Sounds good, I've accepted all of your suggestions. Let me know if there's anything else!

midwesternrodentand others added 18 commits October 16, 2024 14:15
Add a new guide for starting sunshine on boot, fixing streaming audio with pipewire, and configuring the displays for SDDM.
Also edit some of Eric Dong's guide on the Remote SSH Headless Setup, to call out the issues with pipewire.
Also edited the Remote SSH Headless guides to recommend users to edit with visudo to ensure they don't mess up their sudo configuration.
Add some tips on how to find the right monitor using kscreen-doctor on KDE Plasma for Wayland and X11.
Reduce the maximum line length to 120 characters.
Fix some spelling errors that Obsidian didn't pick up for me. (whoops!)
Accidentally expanded the KDE Plasma (Wayland, X11) table. Fixed it.
Fixed some spelling errors, formatting problems, and fixed the maximum line length to less than 120 characters.
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Apply formatting, grammar, and style suggestions.
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Testing some options for putting code in admonition blocks to see how they look on readthedocs.
Don't merge with these changes active, they'll look weird.
Applying all suggestions except those about code snippets in admonition blocks.
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Fixing the previously added codeblock changes to make sure they look right in readthedocs.
midwesternrodentand others added 9 commits October 16, 2024 14:15
Changing the @code{} and @encode blocks originally suggested to double and triple backticks.
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Fixing code snippets in admonition blocks.
Fixed the code block I broke on line 868 in a previous commit.
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Spelling, formatting, and style changes. Fixed a single misnamed command in one of the service files referenced in my guide.
minor grammar fix
Final proofread, fixed a few minor spelling and style problems.
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
@sonarqubecloud

Copy link
Copy Markdown

@codecov

codecovBot commented Oct 16, 2024

Copy link
Copy Markdown

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 11.13%. Comparing base (f429d34) to head (af3cb10).
Report is 79 commits behind head on master.

Additional details and impacted files
@@ Coverage Diff @@## master #3287 +/- ##
=======================================
Coverage 11.12% 11.13% =======================================
Files 99 99 Lines 17211 17211 Branches 8023 8023 =======================================
+ Hits 1915 1916 +1 
Misses 12737 12737 + Partials 2559 2558 -1 
FlagCoverage Δ
Linux8.42% <ø> (ø)
Windows5.19% <ø> (ø)
macOS-1313.60% <ø> (+0.01%)⬆️
macOS-1412.59% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

see 1 file with indirect coverage changes

@ReenigneArcher
ReenigneArcher enabled auto-merge (squash) October 16, 2024 18:26
@ReenigneArcher

Copy link
Copy Markdown
Member

Thanks for all the changes! This will be merged once all the CI passes

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@midwesternrodent@ReenigneArcher