https://nowsci.com/winapps/

已提交的 URL:
https://nowsci.com/winapps/
報告完成時間:

連結 · 找到 6 個

連結Text
https://www.reddit.com/r/linuxr/linux
https://github.com/Fmstrat/fluent-ui-react/blob/master/LICENSE.mdMIT License
https://github.com/Fmstrat/fluentui/blob/master/LICENSEMIT License
https://static2.sharepointonline.com/files/fabric/assets/microsoft_fabric_assets_license_agreement_nov_2019.pdfrestricted use
https://github.com/Fmstrat/vscode-material-icon-theme/blob/master/LICENSE.mdMIT License
https://github.com/Fmstrat/LibreICONS/blob/master/LICENSEMIT License

JavaScript 變數 · 找到 7 個

名稱類型
onbeforetoggleobject
documentPictureInPictureobject
onscrollendobject
plausiblefunction
webpackChunkmy_websiteobject
docusaurusobject
docusaurusRootobject

主控台記錄訊息 · 找到 99 條

類型類別記錄
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object
errorjavascript
URL
https://nowsci.com/assets/js/main.295eb687.js
Text
Docusaurus React Root onRecoverableError: JSHandle@error JSHandle@object

HTML

<!DOCTYPE html><html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-winapps/index" data-has-hydrated="true" data-theme="light" data-rh="lang,dir,class,data-has-hydrated"><head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.5.2">
<title>WinApps for Linux | nowsci.com</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://nowsci.com/img/logo.png"><meta data-rh="true" name="twitter:image" content="https://nowsci.com/img/logo.png"><meta data-rh="true" property="og:url" content="https://nowsci.com/winapps/"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="WinApps for Linux | nowsci.com"><meta data-rh="true" name="description" content="Run Windows apps such as Microsoft Office/Adobe in Linux (Ubuntu/Fedora) and GNOME/KDE as if they were a part of the native OS, including Nautilus integration for right clicking on files of specific mime types to open them."><meta data-rh="true" property="og:description" content="Run Windows apps such as Microsoft Office/Adobe in Linux (Ubuntu/Fedora) and GNOME/KDE as if they were a part of the native OS, including Nautilus integration for right clicking on files of specific mime types to open them."><link data-rh="true" rel="icon" href="/img/favicon.png"><link data-rh="true" rel="canonical" href="https://nowsci.com/winapps/"><link data-rh="true" rel="alternate" href="https://nowsci.com/winapps/" hreflang="en"><link data-rh="true" rel="alternate" href="https://nowsci.com/winapps/" hreflang="x-default"><link rel="stylesheet" href="/css/github.css">
<script src="https://pa.nowsci.com/js/script.outbound-links.file-downloads.js" defer="defer" data-domain="nowsci.com"></script><link rel="stylesheet" href="/assets/css/styles.b8417e2a.css">
<script src="/assets/js/runtime~main.150c319c.js" defer="defer"></script>
<script src="/assets/js/main.295eb687.js" defer="defer"></script>
<meta name="viewport" content="width=device-width, initial-scale=1.0" data-rh="true"><script type="text/javascript" defer="" async="" src="//buttons.github.io/buttons.js"></script><link rel="prefetch" href="/assets/js/c4f5d8e4.22df50c6.js"><link rel="prefetch" href="/assets/js/a7456010.d27e4924.js"><link rel="prefetch" href="/assets/js/5e95c892.774f91d8.js"><link rel="prefetch" href="/assets/js/aba21aa0.bddde0da.js"><link rel="prefetch" href="/assets/js/a7bd4aaa.8203e3df.js"><link rel="prefetch" href="/assets/js/22dd74f7.9eb939f2.js"><link rel="prefetch" href="/assets/js/a94703ab.7d1fe5de.js"><script type="text/javascript" defer="" async="" src="//buttons.github.io/buttons.js"></script></head>
<body class="navigation-with-keyboard" data-rh="class" style="overflow: visible;">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.png" alt="Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"></div><b class="navbar__title text--truncate"></b></a></div><div class="navbar__items navbar__items--right"><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP" type="button" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div><div class="navbar-sidebar"><div class="navbar-sidebar__brand"><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.png" alt="Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"></div><b class="navbar__title text--truncate"></b></a><div class="toggle_vylO margin-right--md"><button class="clean-btn toggleButton_gllP" type="button" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><button type="button" aria-label="Close navigation bar" class="clean-btn navbar-sidebar__close"><svg viewBox="0 0 15 15" width="21" height="21"><g stroke="var(--ifm-color-emphasis-600)" stroke-width="1.2"><path d="M.75.75l13.5 13.5M14.25.75L.75 14.25"></path></g></svg></button></div><div class="navbar-sidebar__items navbar-sidebar__items--show-secondary"><div class="navbar-sidebar__item menu"><ul class="menu__list"></ul></div><div class="navbar-sidebar__item menu"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/about/">About</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/gam/">GitHub Application Manager</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" href="/lemmy/">Lemmy tools</a><button aria-label="Expand sidebar category 'Lemmy tools'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/linux-gaming">Linux game guides</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/samba-domain">Samba Active Directory</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/twystlock/">Twystlock</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/webbian">Webbian</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" href="/winapps/">WinApps for Linux</a><button aria-label="Collapse sidebar category 'WinApps for Linux'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul class="menu__list" style="display: block; overflow: visible; height: auto;"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/winapps/kvm/">Creating a Virtual Machine in KVM</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/wintile/">WinTile for GNOME</a></li></ul></div></div></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">WinApps for Linux</span><meta itemprop="position" content="1"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>WinApps for Linux</h1></header>
<p>Run Windows apps such as Microsoft Office/Adobe in Linux (Ubuntu/Fedora) and GNOME/KDE as if they were a part of the native OS, including Nautilus integration for right clicking on files of specific mime types to open them.</p>
<div id="github-button" style="color: unset; font: unset; font-palette: unset; font-synthesis: unset; forced-color-adjust: unset; text-orientation: unset; text-rendering: unset; -webkit-font-smoothing: unset; -webkit-locale: unset; -webkit-text-orientation: unset; -webkit-writing-mode: unset; writing-mode: unset; zoom: unset; accent-color: unset; place-content: unset; place-items: unset; place-self: unset; alignment-baseline: unset; animation-composition: unset; animation: unset; app-region: unset; appearance: unset; aspect-ratio: unset; backdrop-filter: unset; backface-visibility: unset; background: unset; background-blend-mode: unset; baseline-shift: unset; baseline-source: unset; block-size: unset; border-block: unset; border: unset; border-radius: unset; border-collapse: unset; border-end-end-radius: unset; border-end-start-radius: unset; border-inline: unset; border-start-end-radius: unset; border-start-start-radius: unset; inset: unset; box-shadow: unset; box-sizing: unset; break-after: unset; break-before: unset; break-inside: unset; buffered-rendering: unset; caption-side: unset; caret-color: unset; clear: unset; clip: unset; clip-path: unset; clip-rule: unset; color-interpolation: unset; color-interpolation-filters: unset; color-rendering: unset; color-scheme: unset; columns: unset; column-fill: unset; gap: unset; column-rule: unset; column-span: unset; contain: unset; contain-intrinsic-block-size: unset; contain-intrinsic-size: unset; contain-intrinsic-inline-size: unset; container: unset; content: unset; content-visibility: unset; counter-increment: unset; counter-reset: unset; counter-set: unset; cursor: unset; cx: unset; cy: unset; d: unset; display: block; dominant-baseline: unset; empty-cells: unset; fill: unset; fill-opacity: unset; fill-rule: unset; filter: unset; flex: unset; flex-flow: unset; float: unset; flood-color: unset; flood-opacity: unset; grid: unset; grid-area: unset; height: unset; hyphenate-character: unset; hyphenate-limit-chars: unset; hyphens: unset; image-orientation: unset; image-rendering: unset; initial-letter: unset; inline-size: unset; inset-block: unset; inset-inline: unset; isolation: unset; letter-spacing: unset; lighting-color: unset; line-break: unset; list-style: unset; margin-block: unset; margin: unset; margin-inline: unset; marker: unset; mask: unset; mask-type: unset; math-depth: unset; math-shift: unset; math-style: unset; max-block-size: unset; max-height: unset; max-inline-size: unset; max-width: unset; min-block-size: unset; min-height: unset; min-inline-size: unset; min-width: unset; mix-blend-mode: unset; object-fit: unset; object-position: unset; object-view-box: unset; offset: unset; opacity: unset; order: unset; orphans: unset; outline: unset; outline-offset: unset; overflow-anchor: unset; overflow-clip-margin: unset; overflow-wrap: unset; overflow: unset; overlay: unset; overscroll-behavior-block: unset; overscroll-behavior-inline: unset; overscroll-behavior: unset; padding-block: unset; padding: unset; padding-inline: unset; page: unset; page-orientation: unset; paint-order: unset; perspective: unset; perspective-origin: unset; pointer-events: unset; position: unset; quotes: unset; r: unset; resize: unset; rotate: unset; ruby-position: unset; rx: unset; ry: unset; scale: unset; scroll-behavior: unset; scroll-margin-block: unset; scroll-margin: unset; scroll-margin-inline: unset; scroll-padding-block: unset; scroll-padding: unset; scroll-padding-inline: unset; scroll-snap-align: unset; scroll-snap-stop: unset; scroll-snap-type: unset; scroll-timeline: unset; scrollbar-gutter: unset; shape-image-threshold: unset; shape-margin: unset; shape-outside: unset; shape-rendering: unset; size: unset; speak: unset; stop-color: unset; stop-opacity: unset; stroke: unset; stroke-dasharray: unset; stroke-dashoffset: unset; stroke-linecap: unset; stroke-linejoin: unset; stroke-miterlimit: unset; stroke-opacity: unset; stroke-width: unset; tab-size: unset; table-layout: unset; text-align: unset; text-align-last: unset; text-anchor: unset; text-combine-upright: unset; text-decoration: unset; text-decoration-skip-ink: unset; text-emphasis: unset; text-emphasis-position: unset; text-indent: unset; text-overflow: unset; text-shadow: unset; text-size-adjust: unset; text-transform: unset; text-underline-offset: unset; text-underline-position: unset; white-space: unset; timeline-scope: unset; touch-action: unset; transform: unset; transform-box: unset; transform-origin: unset; transform-style: unset; transition: unset; translate: unset; user-select: unset; vector-effect: unset; vertical-align: unset; view-timeline: unset; view-transition-name: unset; visibility: unset; border-spacing: unset; -webkit-box-align: unset; -webkit-box-decoration-break: unset; -webkit-box-direction: unset; -webkit-box-flex: unset; -webkit-box-ordinal-group: unset; -webkit-box-orient: unset; -webkit-box-pack: unset; -webkit-box-reflect: unset; -webkit-line-break: unset; -webkit-line-clamp: unset; -webkit-mask-box-image: unset; -webkit-print-color-adjust: unset; -webkit-rtl-ordering: unset; -webkit-ruby-position: unset; -webkit-tap-highlight-color: unset; -webkit-text-combine: unset; -webkit-text-decorations-in-effect: unset; -webkit-text-fill-color: unset; -webkit-text-security: unset; -webkit-text-stroke: unset; -webkit-user-drag: unset; -webkit-user-modify: unset; widows: unset; width: unset; will-change: unset; word-break: unset; word-spacing: unset; x: unset; y: unset; z-index: unset;"><span></span></div>
<p><em><strong>Proud to have made the top spot on <a href="https://www.reddit.com/r/linux" target="_blank" rel="noopener noreferrer">r/linux</a> on launch day.</strong></em></p>
<p><img decoding="async" loading="lazy" alt="demo" src="/assets/images/demo-e86a93eacc979dff2f381fbc20f7de79.gif" width="1870" height="1037" class="img_ev3q"></p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="how-it-works">How it works<a href="#how-it-works" class="hash-link" aria-label="Direct link to How it works" title="Direct link to How it works">​</a></h2>
<p>WinApps was created as an easy, one command way to include apps running inside a VM (or on any RDP server) directly into GNOME as if they were native applications. WinApps works by:</p>
<ul>
<li>Running a Windows RDP server in a background VM container</li>
<li>Checking the RDP server for installed applications such as Microsoft Office</li>
<li>If those programs are installed, it creates shortcuts leveraging FreeRDP for both the CLI and the GNOME tray</li>
<li>Files in your home directory are accessible via the <code>\\tsclient\home</code> mount inside the VM</li>
<li>You can right click on any files in your home directory to open with an application, too</li>
</ul>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="currently-supported-applications">Currently supported applications<a href="#currently-supported-applications" class="hash-link" aria-label="Direct link to Currently supported applications" title="Direct link to Currently supported applications">​</a></h2>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="winapps-supports-any-installed-application-on-your-system">WinApps supports <em><strong>ANY</strong></em> installed application on your system.<a href="#winapps-supports-any-installed-application-on-your-system" class="hash-link" aria-label="Direct link to winapps-supports-any-installed-application-on-your-system" title="Direct link to winapps-supports-any-installed-application-on-your-system">​</a></h3>
<p>It does this by:</p>
<ol>
<li>Scanning your system for offically configured applications (below)</li>
<li>Scanning your system for any other EXE files with install records in the Windows Registry</li>
</ol>
<p>Any officially configured applications will have support for high-resolution icons and mime types for automatically detecting what files can be opened by each application. Any other detected executable files will leverage the icons pulled from the EXE.</p>
<p>Note: The officially configured application list below is fueled by the community, and therefore some apps may be untested by the WinApps team.</p>
<table cellpadding="10" cellspacing="0" border="0"><tr><td><img src="/img/winapps/apps/acrobat-x-pro/icon.svg" width="100"></td><td>Adobe Acrobat Pro<br>(X)</td><td><img src="/img/winapps/apps/acrobat-reader-dc/icon.svg" width="100"></td><td>Adobe Acrobat Reader<br>(DC)</td></tr><tr><td><img src="/img/winapps/apps/aftereffects-cc/icon.svg" width="100"></td><td>Adobe After Effects<br>(CC)</td><td><img src="/img/winapps/apps/audition-cc/icon.svg" width="100"></td><td>Adobe Audition<br>(CC)</td></tr><tr><td><img src="/img/winapps/apps/bridge-cs6/icon.svg" width="100"></td><td>Adobe Bridge<br>(CS6, CC)</td><td><img src="/img/winapps/apps/adobe-cc/icon.svg" width="100"></td><td>Adobe Creative Cloud<br>(CC)</td></tr><tr><td><img src="/img/winapps/apps/illustrator-cc/icon.svg" width="100"></td><td>Adobe Illustrator<br>(CC)</td><td><img src="/img/winapps/apps/indesign-cc/icon.svg" width="100"></td><td>Adobe InDesign<br>(CC)</td></tr><tr><td><img src="/img/winapps/apps/lightroom-cc/icon.svg" width="100"></td><td>Adobe Lightroom<br>(CC)</td><td><img src="/img/winapps/apps/photoshop-cc/icon.svg" width="100"></td><td>Adobe Photoshop<br>(CS6, CC)</td></tr><tr><td><img src="/img/winapps/apps/premiere-pro-cc/icon.svg" width="100"></td><td>Adobe Premiere Pro<br>(CC)</td><td><img src="/img/winapps/apps/cmd/icon.svg" width="100"></td><td>Command Prompt<br>(cmd.exe)</td></tr><tr><td><img src="/img/winapps/apps/explorer/icon.svg" width="100"></td><td>Explorer<br>(File Manager)</td><td><img src="/img/winapps/apps/iexplorer/icon.svg" width="100"></td><td>Internet Explorer<br>(11)</td></tr><tr><td><img src="/img/winapps/apps/access/icon.svg" width="100"></td><td>Microsoft Access<br>(2016, 2019, o365)</td><td><img src="/img/winapps/apps/excel/icon.svg" width="100"></td><td>Microsoft Excel<br>(2016, 2019, o365)</td></tr><tr><td><img src="/img/winapps/apps/word/icon.svg" width="100"></td><td>Microsoft Word<br>(2016, 2019, o365)</td><td><img src="/img/winapps/apps/onenote/icon.svg" width="100"></td><td>Microsoft OneNote<br>(2016, 2019, o365)</td></tr><tr><td><img src="/img/winapps/apps/outlook/icon.svg" width="100"></td><td>Microsoft Outlook<br>(2016, 2019, o365)</td><td><img src="/img/winapps/apps/powerpoint/icon.svg" width="100"></td><td>Microsoft PowerPoint<br>(2016, 2019, o365)</td></tr><tr><td><img src="/img/winapps/apps/project/icon.svg" width="100"></td><td>Microsoft Project<br>(2016, 2019, o365)</td><td><img src="/img/winapps/apps/publisher/icon.svg" width="100"></td><td>Microsoft Publisher<br>(2016, 2019, o365)</td></tr><tr><td><img src="/img/winapps/apps/powershell/icon.svg" width="100"></td><td>Powershell<br>(Standard, Core)</td><td><img src="/img/winapps/apps/vs-enterprise-2019/icon.svg" width="100"></td><td>Visual Studio<br>(2019 - Ent|Pro|Com)</td></tr><tr><td><img src="/img/winapps/icons/windows.svg" width="100"></td><td>Windows<br>(Full RDP session)</td><td>&nbsp;</td><td>&nbsp;</td></tr></table>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="installation">Installation<a href="#installation" class="hash-link" aria-label="Direct link to Installation" title="Direct link to Installation">​</a></h2>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="step-1-set-up-a-windows-virtual-machine">Step 1: Set up a Windows Virtual Machine<a href="#step-1-set-up-a-windows-virtual-machine" class="hash-link" aria-label="Direct link to Step 1: Set up a Windows Virtual Machine" title="Direct link to Step 1: Set up a Windows Virtual Machine">​</a></h3>
<p>The best solution for running a VM as a subsystem for WinApps would be KVM. KVM is a CPU and memory-efficient virtualization engine bundled with most major Linux distributions. To set up the VM for WinApps, follow this guide:</p>
<ul>
<li><a href="/winapps/kvm">Creating a Virtual Machine in KVM</a></li>
</ul>
<p>If you already have a Virtual Machine or server you wish to use with WinApps, you will need to merge <code>kvm/RDPApps.reg</code> into the VM's Windows Registry. If this VM is in KVM and you want to use auto-IP detection, you will need to name the machine <code>RDPWindows</code>. Directions for both of these can be found in the guide linked above.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="step-2-download-the-repo-and-prerequisites">Step 2: Download the repo and prerequisites<a href="#step-2-download-the-repo-and-prerequisites" class="hash-link" aria-label="Direct link to Step 2: Download the repo and prerequisites" title="Direct link to Step 2: Download the repo and prerequisites">​</a></h3>
<p>To get things going, use:</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color: #393A34; --prism-background-color: #f6f8fa;"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color: rgb(57, 58, 52); background-color: rgb(246, 248, 250);"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color: rgb(57, 58, 52);"><span class="token plain">sudo apt-get install -y freerdp2-x11</span><br></span><span class="token-line" style="color: rgb(57, 58, 52);"><span class="token plain">git clone https://github.com/Fmstrat/winapps.git</span><br></span><span class="token-line" style="color: rgb(57, 58, 52);"><span class="token plain">cd winapps</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="step-3-creating-your-winapps-configuration-file">Step 3: Creating your WinApps configuration file<a href="#step-3-creating-your-winapps-configuration-file" class="hash-link" aria-label="Direct link to Step 3: Creating your WinApps configuration file" title="Direct link to Step 3: Creating your WinApps configuration file">​</a></h3>
<p>You will need to create a <code>~/.config/winapps/winapps.conf</code> configuration file with the following information in it:</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color: #393A34; --prism-background-color: #f6f8fa;"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color: rgb(57, 58, 52); background-color: rgb(246, 248, 250);"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color: rgb(57, 58, 52);"><span class="token plain">RDP_USER="MyWindowsUser"</span><br></span><span class="token-line" style="color: rgb(57, 58, 52);"><span class="token plain">RDP_PASS="MyWindowsPassword"</span><br></span><span class="token-line" style="color: rgb(57, 58, 52);"><span class="token plain">#RDP_DOMAIN="MYDOMAIN"</span><br></span><span class="token-line" style="color: rgb(57, 58, 52);"><span class="token plain">#RDP_IP="192.168.123.111"</span><br></span><span class="token-line" style="color: rgb(57, 58, 52);"><span class="token plain">#RDP_SCALE=100</span><br></span><span class="token-line" style="color: rgb(57, 58, 52);"><span class="token plain">#RDP_FLAGS=""</span><br></span><span class="token-line" style="color: rgb(57, 58, 52);"><span class="token plain">#MULTIMON="true"</span><br></span><span class="token-line" style="color: rgb(57, 58, 52);"><span class="token plain">#DEBUG="true"</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<p>The username and password should be a full user account and password, such as the one created when setting up Windows or a domain user. It cannot be a user/PIN combination as those are not valid for RDP access.</p>
<p>Options:</p>
<ul>
<li>When using a pre-existing non-KVM RDP server, you can use the <code>RDP_IP</code> to specify it's location</li>
<li>If you are running a VM in KVM with NAT enabled, leave <code>RDP_IP</code> commented out and WinApps will auto-detect the right local IP</li>
<li>For domain users, you can uncomment and change <code>RDP_DOMAIN</code></li>
<li>On high-resolution (UHD) displays, you can set <code>RDP_SCALE</code> to the scale you would like [100|140|160|180]</li>
<li>To add flags to the FreeRDP call, such as <code>/audio-mode:1</code> to pass in a mic, use the <code>RDP_FLAGS</code> configuration option</li>
<li>For multi-monitor setups, you can try enabling <code>MULTIMON</code>, however if you get a black screen (FreeRDP bug) you will need to revert back</li>
<li>If you enable <code>DEBUG</code>, a log will be created on each application start in <code>~/.local/share/winapps/winapps.log</code></li>
</ul>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="step-4-run-the-winapps-installer">Step 4: Run the WinApps installer<a href="#step-4-run-the-winapps-installer" class="hash-link" aria-label="Direct link to Step 4: Run the WinApps installer" title="Direct link to Step 4: Run the WinApps installer">​</a></h3>
<p>Lastly, check that FreeRDP can connect with:</p>
<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color: #393A34; --prism-background-color: #f6f8fa;"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color: rgb(57, 58, 52); background-color: rgb(246, 248, 250);"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color: rgb(57, 58, 52);"><span class="token plain">bin/winapps check</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<p>You will see output from FreeRDP, as well as potentially have to accept the initial certificate. After that, a Windows Explorer window should pop up. You can close this window and press <code>Ctrl-C</code> to cancel out of FreeRDP.</p>
<p>If this step fails, try restarting the VM, or your problem could be related to:</p>
<ul>
<li>You need to accept the security cert the first time you connect (with 'check')</li>
<li>Not enabling RDP in the Windows VM</li>
<li>Not being able to connect to the IP of the VM</li>
<li>Incorrect user credentials in <code>~/.config/winapps/winapps.conf</code></li>
<li>Not merging <code>install/RDPApps.reg</code> into the VM</li>
</ul>
<p>Then the final step is to run the installer which will prompt you for a system or user install:</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color: #393A34; --prism-background-color: #f6f8fa;"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color: rgb(57, 58, 52); background-color: rgb(246, 248, 250);"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color: rgb(57, 58, 52);"><span class="token plain">./installer.sh</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<p>This will take you through the following process:</p>
<p><img decoding="async" loading="lazy" alt="installer" src="/assets/images/installer-c4b716b43b1b293374cbcdcca2679d61.gif" width="1049" height="497" class="img_ev3q"></p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="adding-pre-defined-applications">Adding pre-defined applications<a href="#adding-pre-defined-applications" class="hash-link" aria-label="Direct link to Adding pre-defined applications" title="Direct link to Adding pre-defined applications">​</a></h2>
<p>Adding applications with custom icons and mime types to the installer is easy. Simply copy one of the application configurations in the <code>apps</code> folder, and:</p>
<ul>
<li>Edit the variables for the application</li>
<li>Replace the <code>icon.svg</code> with an SVG for the application (appropriately licensed)</li>
<li>Re-run the installer</li>
<li>Submit a Pull Request to add it to WinApps officially</li>
</ul>
<p>When running the installer, it will check for if any configured apps are installed, and if they are it will create the appropriate shortcuts on the host OS.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="running-applications-manually">Running applications manually<a href="#running-applications-manually" class="hash-link" aria-label="Direct link to Running applications manually" title="Direct link to Running applications manually">​</a></h2>
<p>WinApps offers a manual mode for running applications that are not configured. This is completed with the <code>manual</code> flag. Executables that are in the path do not require full path definition.</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color: #393A34; --prism-background-color: #f6f8fa;"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color: rgb(57, 58, 52); background-color: rgb(246, 248, 250);"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color: rgb(57, 58, 52);"><span class="token plain">./bin/winapps manual "C:\my\directory\executableNotInPath.exe"</span><br></span><span class="token-line" style="color: rgb(57, 58, 52);"><span class="token plain">./bin/winapps manual executableInPath.exe</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="checking-for-new-application-support">Checking for new application support<a href="#checking-for-new-application-support" class="hash-link" aria-label="Direct link to Checking for new application support" title="Direct link to Checking for new application support">​</a></h2>
<p>The installer can be run multiple times, so simply run the below again and it will remove any current installations and update for the latest applications.</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color: #393A34; --prism-background-color: #f6f8fa;"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color: rgb(57, 58, 52); background-color: rgb(246, 248, 250);"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color: rgb(57, 58, 52);"><span class="token plain">./installer.sh</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="optional-installer-command-line-arguments">Optional installer command line arguments<a href="#optional-installer-command-line-arguments" class="hash-link" aria-label="Direct link to Optional installer command line arguments" title="Direct link to Optional installer command line arguments">​</a></h2>
<p>The following optional commands can be used to manage your application configurations without prompts:</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color: #393A34; --prism-background-color: #f6f8fa;"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color: rgb(57, 58, 52); background-color: rgb(246, 248, 250);"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color: rgb(57, 58, 52);"><span class="token plain">./installer.sh --user                # Configure applications for the current user</span><br></span><span class="token-line" style="color: rgb(57, 58, 52);"><span class="token plain">./installer.sh --system              # Configure applications for the entire system</span><br></span><span class="token-line" style="color: rgb(57, 58, 52);"><span class="token plain">./installer.sh --user --uninstall    # Remove all configured applications for the current user</span><br></span><span class="token-line" style="color: rgb(57, 58, 52);"><span class="token plain">./installer.sh --system --uninstall  # Remove all configured applications for the entire system</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" class="clean-btn" aria-label="Toggle word wrap" title="Toggle word wrap"><svg viewBox="0 0 24 24" class="wordWrapButtonIcon_Bwma" aria-hidden="true"><path fill="currentColor" d="M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"></path></svg></button><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="common-issues">Common issues<a href="#common-issues" class="hash-link" aria-label="Direct link to Common issues" title="Direct link to Common issues">​</a></h2>
<ul>
<li><strong>Black window</strong>: This is a FreeRDP bug that sometimes comes up. Try restarting the application or rerunning the command. If that doesn't work, ensure you have <code>MULTIMON</code> disabled.</li>
</ul>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="shout-outs">Shout outs<a href="#shout-outs" class="hash-link" aria-label="Direct link to Shout outs" title="Direct link to Shout outs">​</a></h2>
<ul>
<li>Some icons pulled from
<ul>
<li>Fluent UI React - Icons under <a href="https://github.com/Fmstrat/fluent-ui-react/blob/master/LICENSE.md" target="_blank" rel="noopener noreferrer">MIT License</a></li>
<li>Fluent UI - Icons under <a href="https://github.com/Fmstrat/fluentui/blob/master/LICENSE" target="_blank" rel="noopener noreferrer">MIT License</a> with <a href="https://static2.sharepointonline.com/files/fabric/assets/microsoft_fabric_assets_license_agreement_nov_2019.pdf" target="_blank" rel="noopener noreferrer">restricted use</a></li>
<li>PKief's VSCode Material Icon Theme - Icons under <a href="https://github.com/Fmstrat/vscode-material-icon-theme/blob/master/LICENSE.md" target="_blank" rel="noopener noreferrer">MIT License</a></li>
<li>DiemenDesign's LibreICONS - Icons under <a href="https://github.com/Fmstrat/LibreICONS/blob/master/LICENSE" target="_blank" rel="noopener noreferrer">MIT License</a></li>
</ul>
</li>
</ul></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/webbian"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Webbian</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/winapps/kvm/"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Creating a Virtual Machine in KVM</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 nowsci.com.</div></div></div></footer></div>

</body></html>