ADD command does not works to . folders

Description:
When I use ADD command in a Dockerfile if full destination path contains '.' (hidden folder) it does not work, however I'm able to add it using COPY instead
Steps to Reproduce:
FROM ubuntu:14.04

ADD files/* /root/.config/

does not work, directory does not exist and obviously the contents are not there, however if I use ADD command then everything is created and files get copied.
FROM ubuntu:14.04

COPY files/* /root/.config/

Output of docker version:
Client:
 Version:      1.13.0
 API version:  1.25
 Go version:   go1.7.3
 Git commit:   49bf474
 Built:        Tue Jan 17 09:50:17 2017
 OS/Arch:      linux/amd64

Server:
 Version:      1.13.0
 API version:  1.25 (minimum version 1.12)
 Go version:   go1.7.3
 Git commit:   49bf474
 Built:        Tue Jan 17 09:50:17 2017
 OS/Arch:      linux/amd64
 Experimental: false

Output of docker info:
Containers: 26
 Running: 1
 Paused: 0
 Stopped: 25
Images: 629
Server Version: 1.13.0
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 604
 Dirperm1 Supported: false
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host macvlan null overlay
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 03e5862ec0d8d3b3f750e19fca3ee367e13c090e
runc version: 2f7393a47307a16f8cee44a37b262e8b81021e3e
init version: 949e6fa
Security Options:
 apparmor
Kernel Version: 3.13.0-32-generic
Operating System: Ubuntu 14.04.1 LTS
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 6.681 GiB
Name: marcos-VM
ID: DNY3:N233:TCP6:SNRS:EUHC:MOL6:QME5:OJT7:PFC6:J53P:CDOO:55LR
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Username: marcosautoweb
Registry: https://index.docker.io/v1/
WARNING: No swap limit support
Experimental: false
Insecure Registries:
 <IP_ADDRESS>/8
Live Restore Enabled: false```

was not able to reproduce after fixing it in the Dockerfile, sorry for the missunderstanding

the problem really happens when using ~/.config/, instead of using /root/.config, neither ADD or COPY work


Create Schema Reading Tool

I can contribute to this as well

ready for assignment

Hi, I am the new Operations Manager Steve from Vancouver Team.


Readme cleanup

We should really overhaul the readme at some point.
We should also decide what should go in the google doc vs the readme

I agree, but we should probably hold off on doing this until irve is done or almost done

Agreed :)


Create a simple process for installing edge on rpi

Create an SD card flash image and document flashing instructions for new users installing Ambianic edge on a raspberry pi.
The flash image can be relatively static and rarely changing. Maybe once or twice a year.
For example it can bundle docker and docker compose. With a default Docker Compose configuration file referencing latest Ambianic Edge docker image and Watchtower.
Docker compose will pull on first boot the latest watchtower and Ambianic edge docker images.
After that Watchtower would pull the latest Ambianic edge docker image continuously when a new version is pushed by CD on docker hub.
The flashing script can include a few steps to configure local WiFi access to reduce the need for network cable for the rpi.
Hyperion flash is a good project to look at:
https://github.com/hypriot/flash
https://github.com/hypriot/image-builder-rpi

Done: https://github.com/ambianic/ambianic-rpi-image


My attempt to update the user docs

Proposal
My attempt to update the user docs (still work in progress, not all pages linked):
https://github.com/reigam/Fabulous/tree/docs/docs/Fabulous.XamarinForms
My intentions:

Make it more accessible for beginners (like me)
Structure the controls according to the structure given here: Controls Reference - Xamarin | Microsoft Docs

https://github.com/reigam/Fabulous/blob/docs/docs/Fabulous.XamarinForms/images/guide-organisation.jpg

Show which pages / topics are up to date

What do you think?
Also, for internal links, shoud I use:
....](introduction.html)
or
....](introduction.md)
?

@reigam
I think the structure is great and more readable. I am currently working on a complete new documentation website for fabulous with Fornax which will generate a complete documentation from .md files.
for internal links the .md is preferred afaik.
How would you represent pages/topics which are up to date.

@SergejDK
Thanks for the feedback. Will you use the existing docs for your new website? Any use continuing working on these?

How would you represent pages/topics which are up to date.

Lacking a better idea I just added
(topic last updated: v 0.61.0)
or
(topic last updated: pending)
under the name of the page or sub-topic.

@reigam
The idea is that we use the current .md files but we will have sth. like a sidemenu and searchbar which will make it easier to find stuff and just display the .md files in the main content.
So I think it is fine if you keep working on it. The image on how to split the folders is sth. I was thinking about, too and we can definetly use your idea here.

(topic last updated: v 0.61.0)
or
(topic last updated: pending)

I think this is a great idea. This way everyone knows at which version it is possible. maybe a TimeStamp isn't wrong either sth. like
topic last updated: v 0.61.0 - 31.03.2021 - 11:15am

Closing in favour of #927


Format for passing private key to the wssh.connect function using js

Hello sir,
I am trying to connect using js I am planning to connect a server by directly fetching the data like hostname username private key etc from a database and then connecting to it directly.
i am trying to folow your example:
var opts = {
hostname: 'hostname',
port: 'port',
username: 'username',
password: 'password',
privatekey: 'the private key text',
passphrase: 'passphrase',
totp: 'totp'
};
but in this when I am passing the private key in text form it is saying invalid key and on the terminal, it says Parsing Key ' ' and then invalid key
I have tried setting the value of hostname var by removing newlines and also by  removing the header and footer parts of the key (---BEGIN OPENSSH KEY----) also but it is not working

yes, I think openssh version was the problem this time I used the docker image and the key worked.
can also please tell me is there any way to pass the private key using postmessage API of js
this is the format I am using which I found from one of the issues on the repo
iframeWindow.postMessage("host" | 22 | username | password ","*");
thanks for your help

also how do i allow a domain for CORS with the docker

Hello.
I added the ed25519 key to SSH, but the program cannot parse it.
Sends me a message:  Unable to parse the private key.
I added the key according to your hint in the program with the strings BEGIN PRIVATE KEY and END PRIVATE KEY.
But all in vain.
I assume you don't have ed25519 support?
I bought the program in the AppStore for use on my phone.

@n05tr0m0 webssh is free and the program you bought in the AppStore is not webssh here.

@n05tr0m0 webssh is free and the program you bought in the AppStore is not webssh here.

I apologize for being confused by similar app names.
Therefore, please consider my comment invalid.
Thank you for your response.


Make a copy of rest.Config provided to k8s.io/cli-runtime.

Fixes: #189

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 89.286%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1575

Relevant Lines:
1764

💛  - Coveralls

/lgtm
/approve
Don't think these actually do anything here, but 🤷♂

Will go ahead and merge. Thanks so much @porridge !


How to make it work with create-react-native-app?

In create-react-native-app entry file looks like:
import React from 'react';
import { StyleSheet, Text, View } from 'react-native';

export default class App extends React.Component {
  render() {
    return (
      <View style={styles.container}>
        <Text>Open up App.js to start working on your app!</Text>
        <Text>Changes you make will automatically reload.</Text>
      </View>
    );
  }
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    backgroundColor: '#fff',
    alignItems: 'center',
    justifyContent: 'center',
  },
});

There is no AppRegistry.registerComponent('MyNewProject', () => MyNewProject); that could be replaced with Navigator.registerScreen('Home', () => MyNewProject); (http://airbnb.io/native-navigation/docs/installation.html)

@ericvicenti @skevy this is a good point. Should we have some instructions for getting CRNA set up with native navigation?

cc @dikaiosune
In order for this to work, as things stand today, you will have to eject your project from CRNA in order to use native-navigation. Of course, this isn't the ideal state of affairs, but CRNA ships with Expo's SDK, which doesn't currently have native-navigation included (yet).
I think there's a longer discussion to be had here, but I definitely would like to see native-navigation become a navigation option in Expo.
I'm a bit swamped with work coming out of React Conf, but @lelandrichardson, you, @ericvicenti, and I should chat about this next week.

Have the same problem. Would be great to have this work with create-react-native-app

I'd prefer to see Wix navigation added to expo as that's production ready.

Without support in the Expo, it will require an eject to use native-navigation.
I am prototyping a way to do the following:
create-react-native-app SimpleApp
cd SimpleApp
npm install --save react-navigation

You could then sketch out an App.js using React Navigation's API:
import {
  StackNavigator,
} from 'react-navigation';
import {
  AppRegistry,
  Button,
} from 'react-native';

class MainScreen extends React.Component {
 ...
}
class ProfileScreen extends React.Component {
  static navigationOptions = {
    title: ({state}) => `${state.params.name}'s profile`,
  };
  render() {
    const { goBack } = this.props.navigation;
    return (
      <Button
        title="Go back"
        onPress={() => goBack()}
      />
    );
  }
}

const SimpleApp = StackNavigator({
  Main: {screen: MainScreen},
  Profile: {screen: ProfileScreen},
});

AppRegistry.registerComponent('SimpleApp', () => SimpleApp);

At this point, the app works fine (and can be deployed to Expo), but does not have Native Navigation yet. Here's how you'd add it:
npm i --save-dev react-navigation-native-eject
npm i --save react-navigation-native

Modify the ejectModule field of the app.json config file, set it to react-navigation-native-eject. Then run npm run eject.
Now edit App.js to use the native entry point:
import {
  registerNativeNavigator,
} from 'react-navigation-native';

// App code remains unchanged!

// This replaces the call to AppRegistry.registerComponent(SimpleApp):
registerNativeNavigator(SimpleApp);

Now, with react-native run-ios or run-android, the app will run with Native Navigation!

@ericvicenti did you open source this wrapper somewhere?

I saw that react-navigation-native is available on npm, but has nothing on it; no code, only a package.json. Please, @ericvicenti , open source this wrapper for us 🙏 thksss

I don't plan on working on it much further, but I've made the wrapper available here: https://gist.github.com/ericvicenti/9b193b07d527c2bf45e3521a31a20f6c
If anyone is interested in maintaining it for open source, reach out to me and we can discuss transferring or sharing ownership of the npm package.

I'm really interested in maintaing it, @ericvicenti. I'll test it here and check if everything is okay and its next steps to open source it. How can we discuss it together?
And hey, thank you SO much for this wrapper. 🙏🏻

@ericvicenti I'm interested to make it part of RNRF (react-native-router-flux). I don't see also react-navigation-native-eject, where I can get it?

There is another way: https://github.com/react-community/react-navigation/issues/713

Hi
I have created an application using the create-react-native-app. Now I wanna use the native features of the phone like Bluetooth etc. So I wanna use the application in react-native run-android. So it possible to import the code into the project where I have created a project using the react-native init.
Thanks in Advance. Kindly help !

CRNA doesn't support Bluetooth. You'll need to detach to use it.
On 25 Sep 2017 10:06, "swayampakula"<EMAIL_ADDRESS>wrote:

Hi
I have created an application using the create-react-native-app. Now I
wanna use the native features of the phone like Bluetooth etc. So I wanna
use the application in react-native run-android. So it possible to import
the code into the project where I have created a project using the
react-native init.
Thanks in Advance. Kindly help !
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/airbnb/native-navigation/issues/49#issuecomment-331794653,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AC8oX2suB1pCeS4zryPRKlLgEkwwVLO0ks5sl1EHgaJpZM4Meho3
.

Can you use react-native init MyAPP and then install react-navigation and build from there so that it's "pre ejected" or must one build the navigation first and then eject?


Development inside of Docker

What version of Remix are you using?
1.19.3
Are all your remix dependencies & dev-dependencies using the same version?

[X] Yes

Steps to Reproduce
Hey there,
first of all i'm really into remix.  So i now exaclty that things work on all steps of my delivering pipeline.
So most of the time therefore docker is my best friend.
Exept when it comes to remix. I tried a lot of ways to manage a good development process inside of docker but didn't had a good fit until yet. e.g. Next js is super easy when it comes to that.
So what are the plans of supporting docker in development. especially when it comes to hot reloading etc.
Am i the only one doing this, or do i have company here :D
Expected Behavior
HMR and also Hot reloading should work. There should be a documented way how to develop in Docker.
Actual Behavior
I can build and run inside of docker but a soon as i want to have all the dev features i'm quite lost.

Same issue for me too

I do my Remix development in Docker because native in Windows had slow re-build times (because of Anti-Virus, etc.) and because the rest of the services of the application are also containers. Using WSL 2, using a mount from docker to the Windows filesystem isn't an option because file update notifications don't work. Likewise, opening the project from the Linux file system would have excess overhead because of the IDE reading through all the files in node_modules.
I have a docker-compose.yml (and overrides) to spin up the Remix container to a "dev" target and a atmoz/sftp container with a shared volume between the two.
The "dev" target in Dockerfile:
FROM deps as dev

ENV NODE_ENV development

RUN apt-get update \
    && apt-get install -y \
    rsync procps \
    && rm -rf /var/lib/apt/lists/*

RUN mkdir /home/node/app-dev \
    && chmod -R +w /home/node/app-dev \
    && chown node /home/node/app-dev

COPY . .

RUN date --iso-8601=seconds --utc > /home/node/app/.rsync-ref

USER node

I sync the contents of the volume at startup by running this command:
    command:
        - sh
        - -c
        - |-
          TERM=linux clear \
          && if cmp -s /home/node/app/.rsync-ref /home/node/app-dev/.rsync-ref; \
             then echo "Skipping rsync..."; \
             else rsync -rlptODEuihW --no-compress --delete --exclude='node_modules/' --exclude='.cache/' --exclude='build/' --exclude='public/build/' /home/node/app/ /home/node/app-dev/; \
             fi \
          && npm install \
          && exec ./node_modules/.bin/remix dev --manual -c "node --inspect=<IP_ADDRESS>:9229 ./server.js"

WebStorm can then sync via sftp on every file save. There's probably plugins for the same with Visual Studio Code.

Entire Remix `Dockerfile`:

FROM node:18-bookworm-slim as base

# set for base and all layer that inherit from it
ENV NODE_ENV production

# disable npm update check and notification
RUN npm --no-update-notifier config set --global update-notifier false

# Create app directory
WORKDIR /home/node/app

# Install app dependencies
# A wildcard is used to ensure both package.json AND package-lock.json are copied
# where available (npm@5+)
COPY package*.json ./
COPY ./patches ./patches

# Install all node_modules, including dev dependencies
FROM base as deps
RUN npm ci --include=dev

FROM deps as dev

ENV NODE_ENV development

RUN apt-get update \
    && apt-get install -y \
    rsync procps \
    && rm -rf /var/lib/apt/lists/*

RUN mkdir /home/node/app-dev \
    && chmod -R +w /home/node/app-dev \
    && chown node /home/node/app-dev

COPY . .

RUN date --iso-8601=seconds --utc > /home/node/app/.rsync-ref

USER node

# Setup production node_modules
FROM deps as production-deps
RUN npm prune --omit=dev

# Build the app
FROM deps as build

COPY . .
RUN npm run build

# Finally, build the production image with minimal footprint
FROM base

COPY --from=production-deps /home/node/app/node_modules ./node_modules

# Bundle app source
COPY server.js ./
COPY --from=build /home/node/app/build ./build
COPY --from=build /home/node/app/public ./public

USER node
EXPOSE 3000
CMD [ "node", "./server.js" ]

Relevant portions of `docker-compose.yml` merged with the dev override files:

services:
  web-app-sftp:
    image: atmoz/sftp:debian
    volumes:
      - web-app-dev:/home/node/app-dev
    ports:
      - "3022:22"
    command: node:pass:1000

  web-app:
    image: ${DOCKER_REGISTRY-}web-app-dev
    build:
      target: dev
    depends_on:
      web-app-sftp:
        condition: service_started
    working_dir: /home/node/app-dev
    ports:
      - "3000:3000"
      - "9229:9229"
      - "8002:8002"
    volumes:
      - web-app-dev:/home/node/app-dev
    command:
        - sh
        - -c
        - |-
          TERM=linux clear \
          && if cmp -s /home/node/app/.rsync-ref /home/node/app-dev/.rsync-ref; \
             then echo "Skipping rsync..."; \
             else rsync -rlptODEuihW --no-compress --delete --exclude='node_modules/' --exclude='.cache/' --exclude='build/' --exclude='public/build/' /home/node/app/ /home/node/app-dev/; \
             fi \
          && npm install \
          && exec ./node_modules/.bin/remix dev --manual -c "node --inspect=<IP_ADDRESS>:9229 ./server.js"

volumes:
  web-app-dev:

This is what works for me. It might be useful to have an official recommendation, but with overrides and different IDE's, there's endless variations...

Wow thats really cool, let me have a trie on my end. Thanks for that information.

Remix + Vite + Docker
One of the projects I am working on, requires me to use Remix inside Docker container in development. This is my setup:
docker-compose.yml
services:
  app:
    user: 1000:1000
    build:
      context: ./src
      dockerfile: Dockerfile.local
    volumes:
      - ./src:/opt/app:rw
    ports:
      - 3000:3000 # remix
      - 3010:3010 # vite hmr

Dockerfile.local
FROM node:20.10-slim as base
WORKDIR /opt/app

EXPOSE 3000

# keep the container running
CMD sleep infinity

vite.config.ts
import { unstable_vitePlugin as remix } from '@remix-run/dev'
import { defineConfig } from 'vite'
import tsconfigPaths from 'vite-tsconfig-paths'

import remixConfig from './remix.config'

export default defineConfig({
  plugins: [remix(remixConfig), tsconfigPaths()],
  server: {
    hmr: {
      port: 3010,
    }
  }
})

/** @type {import('@remix-run/dev').AppConfig} */
export default {
  ignoredRouteFiles: ['**/.*', '**/*.test.{js,jsx,ts,tsx}', '**/__*.*'],
  serverModuleFormat: 'esm',
  future: {
    v3_relativeSplatPaths: true,
  },
}

# start container
docker compose up -d

# enter the container
docker compose exec app bash

# inside the container
npm run dev

NOTE: I literally just got it working, so there might be some issues, which I haven't encountered yet ;)
Remix Version: 2.5.1

Remix + Vite + Docker
One of the projects I am working on, requires me to use Remix inside Docker container in development. This is my setup:
docker-compose.yml
services:
  app:
    user: 1000:1000
    build:
      context: ./src
      dockerfile: Dockerfile.local
    volumes:
      - ./src:/opt/app:rw
    ports:
      - 3000:3000 # remix
      - 3010:3010 # vite hmr

Dockerfile.local
FROM node:20.10-slim as base
WORKDIR /opt/app

EXPOSE 3000

# keep the container running
CMD sleep infinity

vite.config.ts
import { unstable_vitePlugin as remix } from '@remix-run/dev'
import { defineConfig } from 'vite'
import tsconfigPaths from 'vite-tsconfig-paths'

import remixConfig from './remix.config'

export default defineConfig({
  plugins: [remix(remixConfig), tsconfigPaths()],
  server: {
    hmr: {
      port: 3010,
    }
  }
})

/** @type {import('@remix-run/dev').AppConfig} */
export default {
  ignoredRouteFiles: ['**/.*', '**/*.test.{js,jsx,ts,tsx}', '**/__*.*'],
  serverModuleFormat: 'esm',
  future: {
    v3_relativeSplatPaths: true,
  },
}

# start container
docker compose up -d

# enter the container
docker compose exec app bash

# inside the container
npm run dev

NOTE: I literally just got it working, so there might be some issues, which I haven't encountered yet ;)
Remix Version: 2.5.1

Thanks for setting that up, It seems like it works great on windows machines, but how about a silicon-based mac? I'm getting the following error:
`
% docker compose exec app bash
node@f5e692b24374:/srv/app$ npm run dev

<EMAIL_ADDRESS>dev
remix vite:dev

Error: Cannot find module @rollup/rollup-linux-arm64-gnu. npm has a bug related to optional dependencies (https://github.com/npm/cli/issues/4828). Please try npm i again after removing both package-lock.json and node_modules directory.
at requireWithFriendlyError (/srv/app/node_modules/rollup/dist/native.js:59:9)
at Object. (/srv/app/node_modules/rollup/dist/native.js:68:76)
... 3 lines matching cause stack trace ...
at Module._load (node:internal/modules/cjs/loader:1023:12)
at cjsLoader (node:internal/modules/esm/translators:345:17)
at ModuleWrap. (node:internal/modules/esm/translators:294:7)
at ModuleJob.run (node:internal/modules/esm/module_job:218:25)
at async ModuleLoader.import (node:internal/modules/esm/loader:329:24) {
[cause]: Error: Cannot find module '@rollup/rollup-linux-arm64-gnu'
Require stack:

/srv/app/node_modules/rollup/dist/native.js
at Module._resolveFilename (node:internal/modules/cjs/loader:1144:15)
at Module._load (node:internal/modules/cjs/loader:985:27)
at Module.require (node:internal/modules/cjs/loader:1235:19)
at require (node:internal/modules/helpers:176:18)
at requireWithFriendlyError (/srv/app/node_modules/rollup/dist/native.js:41:10)
at Object. (/srv/app/node_modules/rollup/dist/native.js:68:76)
at Module._compile (node:internal/modules/cjs/loader:1376:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1435:10)
at Module.load (node:internal/modules/cjs/loader:1207:32)
at Module._load (node:internal/modules/cjs/loader:1023:12) {
code: 'MODULE_NOT_FOUND',
requireStack: [ '/srv/app/node_modules/rollup/dist/native.js' ]
}
}
`

this is great, but would anyone know how to change the docker files so it works with a macbook using a silicon processor? here is the error I'm getting:
% docker compose exec app bash
node@f5e692b24374:/srv/app$ npm run dev

><EMAIL_ADDRESS>dev
> remix vite:dev

Error: Cannot find module @rollup/rollup-linux-arm64-gnu. npm has a bug related to optional dependencies (https://github.com/npm/cli/issues/4828). Please try `npm i` again after removing both package-lock.json and node_modules directory.
    at requireWithFriendlyError (/srv/app/node_modules/rollup/dist/native.js:59:9)
    at Object.<anonymous> (/srv/app/node_modules/rollup/dist/native.js:68:76)
    ... 3 lines matching cause stack trace ...
    at Module._load (node:internal/modules/cjs/loader:1023:12)
    at cjsLoader (node:internal/modules/esm/translators:345:17)
    at ModuleWrap.<anonymous> (node:internal/modules/esm/translators:294:7)
    at ModuleJob.run (node:internal/modules/esm/module_job:218:25)
    at async ModuleLoader.import (node:internal/modules/esm/loader:329:24) {
  [cause]: Error: Cannot find module '@rollup/rollup-linux-arm64-gnu'
  Require stack:
  - /srv/app/node_modules/rollup/dist/native.js
      at Module._resolveFilename (node:internal/modules/cjs/loader:1144:15)
      at Module._load (node:internal/modules/cjs/loader:985:27)
      at Module.require (node:internal/modules/cjs/loader:1235:19)
      at require (node:internal/modules/helpers:176:18)
      at requireWithFriendlyError (/srv/app/node_modules/rollup/dist/native.js:41:10)
      at Object.<anonymous> (/srv/app/node_modules/rollup/dist/native.js:68:76)
      at Module._compile (node:internal/modules/cjs/loader:1376:14)
      at Module._extensions..js (node:internal/modules/cjs/loader:1435:10)
      at Module.load (node:internal/modules/cjs/loader:1207:32)
      at Module._load (node:internal/modules/cjs/loader:1023:12) {
    code: 'MODULE_NOT_FOUND',
    requireStack: [ '/srv/app/node_modules/rollup/dist/native.js' ]
  }
}

Remix + Vite + Docker
One of the projects I am working on, requires me to use Remix inside Docker container in development. This is my setup:
docker-compose.yml
services:
  app:
    user: 1000:1000
    build:
      context: ./src
      dockerfile: Dockerfile.local
    volumes:
      - ./src:/opt/app:rw
    ports:
      - 3000:3000 # remix
      - 3010:3010 # vite hmr

Dockerfile.local
FROM node:20.10-slim as base
WORKDIR /opt/app

EXPOSE 3000

# keep the container running
CMD sleep infinity

vite.config.ts
import { unstable_vitePlugin as remix } from '@remix-run/dev'
import { defineConfig } from 'vite'
import tsconfigPaths from 'vite-tsconfig-paths'

import remixConfig from './remix.config'

export default defineConfig({
  plugins: [remix(remixConfig), tsconfigPaths()],
  server: {
    hmr: {
      port: 3010,
    }
  }
})

/** @type {import('@remix-run/dev').AppConfig} */
export default {
 ignoredRouteFiles: ['**/.*', '**/*.test.{js,jsx,ts,tsx}', '**/__*.*'],
 serverModuleFormat: 'esm',
 future: {
   v3_relativeSplatPaths: true,
 },
}

# start container
docker compose up -d

# enter the container
docker compose exec app bash

# inside the container
npm run dev

NOTE: I literally just got it working, so there might be some issues, which I haven't encountered yet ;)
Remix Version: 2.5.1

I’m using this configuration with some adjustments. Checking it out now at https://github.com/ramaID/minimal-remix/commit/600ee8c75290fa881f05bedeb2506cad6188e8ed


Could not find query engine binary for current platform "linux" in query-engine path.

The problem happens when I try to dockerize the app. I use prisma with dart_frog and postgres
Here's what happens when I try calling an endpoint that does some db query with prisma.
build-server-1  | [ERROR] 2022-10-26 19:17:17.623771    0:00:00.001226  POST    /auth/user
build-server-1  | PrismaClientInitializationError:
build-server-1  |   message: Could not find query engine binary for current platform "linux" in query-engine path.
build-server-1  |
build-server-1  | This probably happens, because you built Prisma Client on a different platform.
build-server-1  |
build-server-1  | Searched Locations:
build-server-1  |   - /
build-server-1  |   - /app/bin
build-server-1  |   - /app/.dart_tool/prisma
build-server-1  |
build-server-1  | You already added the platform "linux" to the "generator" block in the "schema.prisma" file as described in https://pris.ly/d/client-generator, but something went wrong. That's suboptimal.
build-server-1  |
build-server-1  | Please create an issue at https://github.com/odroe/prisma-dart/issues/new
build-server-1  |   errorCode: null
build-server-1  |   clientVersion: 2.4.0
build-server-1  |
build-server-1  | package:shelf/src/middleware/logger.dart 30  logRequests.<fn>.<fn>.<fn>
build-server-1  |
build-server-1  | ERROR - 2022-10-26 19:17:17.626072
build-server-1  | POST /auth/user
build-server-1  | Error thrown by handler.
build-server-1  | PrismaClientInitializationError:
build-server-1  |   message: Could not find query engine binary for current platform "linux" in query-engine path.
build-server-1  |
build-server-1  | This probably happens, because you built Prisma Client on a different platform.
build-server-1  |
build-server-1  | Searched Locations:
build-server-1  |   - /
build-server-1  |   - /app/bin
build-server-1  |   - /app/.dart_tool/prisma
build-server-1  |
build-server-1  | You already added the platform "linux" to the "generator" block in the "schema.prisma" file as described in https://pris.ly/d/client-generator, but something went wrong. That's suboptimal.
build-server-1  |
build-server-1  | Please create an issue at https://github.com/odroe/prisma-dart/issues/new
build-server-1  |   errorCode: null
build-server-1  |   clientVersion: 2.4.0
build-server-1  |

Here's my scheme.prisma file:
// This is your Prisma schema file,
// learn more about it in the docs: https://pris.ly/d/prisma-schema

generator client {
  provider        = "prisma-client-dart"
  previewFeatures = ["interactiveTransactions"]
  output          = "../lib/prisma_client.dart"
  binaryTargets   = ["native", "linux-musl"]
}

datasource db {
  provider = "postgresql"
  url      = "postgres://app_user:password@localhost:5432/app_db?schema=public"
}

model User {
  id            Int           @id @default(autoincrement())
  email         String
  passwordHash  String
  firstName     String
  lastName      String
  createdAt     DateTime      @default(now())
  updatedAt     DateTime      @updatedAt
  restaurants   Restaurant[]
  sessions      UserSession[]
}

model UserSession {
  id            Int           @id @default(autoincrement())
  userId        Int
  accessToken   String
  refreshToken  String
  expiresAt     DateTime
  createdAt     DateTime      @default(now())
  updatedAt     DateTime      @updatedAt

  user          User          @relation(fields: [userId], references: [id])
}

model Restaurant {
  id            Int           @id @default(autoincrement())
  userId        Int
  address       String
  meals         Meal[]
  createdAt     DateTime      @default(now())
  updatedAt     DateTime      @updatedAt

  user          User          @relation(fields: [userId], references: [id])
}

model Meal {
  id            Int           @id @default(autoincrement())
  restaurantId  Int
  name          String
  createdAt     DateTime      @default(now())
  updatedAt     DateTime      @updatedAt

  restaurant    Restaurant    @relation(fields: [restaurantId], references: [id])
}

The problem seems to be in your Dockerfile where you did not generate and copy the query engine binary.
Usually to Dockerize you need to set the PRISMA_QUERY_ENGINE_BINARY environment variable in the Dockerfile (you can not set it, it is stored in .dart_tool/prisma/query-engine by default), and then copy it to the same directory as your compiled Dart file.
The following is the normal copy process:

`dart compiler exe .dart -o /app/bin/ # Compile your app executable file
`dart run orm precache -t query # Predownload prisma query engine
`cp .dart_tool/prisma/query-engine /app/bin/ # Copy query engine to /app/bin/ dir

Problem still exists after I added copy and generate steps to my dockerfile
# Official Dart image: https://hub.docker.com/_/dart
# Specify the Dart SDK base image version using dart:<version> (ex: dart:2.17)
FROM dart:stable AS build

WORKDIR /app

# Copy Dependencies

# Install Dependencies

# Resolve app dependencies.
COPY pubspec.* ./
RUN dart pub get

# Copy app source code and AOT compile it.
COPY . .
# Ensure packages are still up-to-date if anything has changed
RUN dart pub get --offline

RUN dart run orm generate

RUN dart compile exe bin/server.dart -o bin/server

RUN dart run orm precache -t query
COPY .dart_tool/prisma/query-engine /app/bin/

# Build minimal serving image from AOT-compiled `/server` and required system
# libraries and configuration files stored in `/runtime/` from the build stage.
FROM scratch
COPY --from=build /runtime/ /
COPY --from=build /app/bin/server /app/bin/

# Start server.
CMD ["/app/bin/server"]

https://github.com/odroe/prisma-dart/blob/main/example/simple/Dockerfile Maybe it will help you

In the simple example it fails when it runs, because using SQLite in the scratch benchmark image seems to be a bit of a problem, and my attempts to connect to MySQL and PG are both successful.

Thanks @medz! Now it looks like the problem with query-engine has been resolved. However, there is another issue:
build-server-1  | PrismaClientInitializationError:
build-server-1  |   message: Failed to start the query engine: Connection refused
build-server-1  |   errorCode: null
build-server-1  |   clientVersion: 2.4.0

My first guess was that I have wrong connection uri in the scheme.prisma:
datasource db {
  provider = "postgresql"
  url      = "postgres://app_user:password@localhost:5432/app_db?schema=public"
}

but it looks good.
Here's also my docker-compose file
version: '3'
services:
  server:
    image: app/app_server
    ports:
      - "8080:8080"
    depends_on:
      - db
    links:
      - db:db
    networks:
      - pgnetwork
  db:
    image: postgres
    ports:
      - "5432:5432"
    environment:
      POSTGRES_DB: app_db
      POSTGRES_USER: app_user
      POSTGRES_PASSWORD: password
    networks:
      - pgnetwork
  # Uncomment this if you want to persist the data.
  # volumes:
  #   - "./pgdata:/var/lib/postgresql/data"

networks:
  pgnetwork:
      driver: bridge

@jakub-stefaniak Your DATABASE_URL is indeed wrong, I'm not familiar with compose so I'm not sure how to solve your problem. Since I have postgres installed locally I have no problem connecting to my local postgres in the container.

You can try replacing the URLs in schema.prisma with environment variables, and then configuring the correct environment variables in the compose configuration file may solve it.

Maybe something to do with SSL, I'll keep testing it.

Maybe it's really about SSL https://github.com/dart-lang/dart-docker/blob/main/Dockerfile-debian.template#L36

@jakub-stefaniak I rewrote the Dockerfile through ubuntu:latest and it seems to solve the problem, I guess the scratch benchmark image is missing something necessary for the Prisma query engine. At present, through your error message, I presume it is SSL (OpenSSL or LibSSL). It seems we can fix it by manually installing an SSL for the sights.
see: https://github.com/odroe/prisma-dart/blob/main/example/simple/Dockerfile.ubuntu

@jakub-stefaniak Has this been resolved? Is there any further help needed, the result of my current tests is that OpenSSL needs to be installed. Unable to connect because the target image does not have OpenSSL or LibSSL.

@jakub-stefaniak Has this been resolved? Is there any further help needed, the result of my current tests is that OpenSSL needs to be installed. Unable to connect because the target image does not have OpenSSL or LibSSL.

We have the same problem, but our DB is in PlanetScale, so we don't deal with Docker Compose and SSL configurations. Testing locally everything works, but testing in staging/production we have this error in the logger:
PrismaClientInitializationError:
  message: Failed to start the query engine: Connection refused
  errorCode: null
  clientVersion: 2.4.5

Thanks @medz! Now it looks like the problem with query-engine has been resolved. However, there is another issue:
build-server-1  | PrismaClientInitializationError:
build-server-1  |   message: Failed to start the query engine: Connection refused
build-server-1  |   errorCode: null
build-server-1  |   clientVersion: 2.4.0

PrismaClientInitializationError:
  message: Failed to start the query engine: Connection refused
  errorCode: null
  clientVersion: 2.4.5

Same error here. The database is PlanetScale, so I don't have any Docker compose file to set up with SSL or other...
Running the Dart Server locally I have no problems, but in staging/production gives me that error (the connection strings are the same)

Thanks @medz! Now it looks like the problem with query-engine has been resolved. However, there is another issue:
build-server-1  | PrismaClientInitializationError:
build-server-1  |   message: Failed to start the query engine: Connection refused
build-server-1  |   errorCode: null
build-server-1  |   clientVersion: 2.4.0

PrismaClientInitializationError:
  message: Failed to start the query engine: Connection refused
  errorCode: null
  clientVersion: 2.4.5

#0      BinaryEngine._createProcess (package:orm/src/engine_core/binary/binary_engine_io.dart:441:7)
<asynchronous suspension>
#1      BinaryEngine.start (package:orm/src/engine_core/binary/binary_engine_io.dart:333:17)
<asynchronous suspension>
#2      BinaryEngine.request (package:orm/src/engine_core/binary/binary_engine_io.dart:290:5)
<asynchronous suspension>
#3      ModelDelegate.findMany (package:package_name/prisma_client.dart:55755:42)
<asynchronous suspension>
...

Same error here. The database is PlanetScale, so I don't have any Docker compose file to set up with SSL or other...
Running the Dart Server locally I have no problems, but in staging/production gives me that error (the connection strings are the same).
@medz Anything to suggest?


XRDP not working with Linux Mint 19.3

I have Linux Mint 19.3 64-bit Cinnamon installed on a Lenovo ThinkPad T61 and installed both xrdp and xorgxrdp from the PPA via the terminal.
I have tried to remote in from a Windows 10 PC using Microsoft Remote Desktop Connection and while I am able to get into the XRDP screen, it's not able to log into the session.
Below is my screen from the Windows 10 PC before and after entering my credentials.

Here is the log output from XRDP:

[20200408-21:27:42] [DEBUG] xrdp_000027a5_wm_login_mode_event_00000001
[20200408-21:27:42] [INFO ] Loading keymap file /etc/xrdp/km-00000409.ini
[20200408-21:27:42] [WARN ] local keymap file for 0x00000409 found and doesn't match built in keymap, using local keymap file
[20200408-21:27:55] [DEBUG] xrdp_wm_log_msg: connecting to sesman ip <IP_ADDRESS> port 3350
[20200408-21:27:56] [INFO ] xrdp_wm_log_msg: sesman connect ok
[20200408-21:27:56] [DEBUG] xrdp_wm_log_msg: sending login info to session manager, please wait...
[20200408-21:27:56] [DEBUG] return value from xrdp_mm_connect 0
[20200408-21:27:59] [INFO ] xrdp_wm_log_msg: login failed for display 0
[20200408-21:27:59] [DEBUG] xrdp_mm_module_cleanup
[20200408-21:27:59] [DEBUG] Closed socket 20 (AF_INET6 ::1 port 47664)
[20200408-21:28:07] [DEBUG] Closed socket 12 (AF_INET6 ::ffff:<IP_ADDRESS> port 3389)
[20200408-21:28:07] [DEBUG] xrdp_mm_module_cleanup

Anyone know what might be causing this and if there's a resolution?
Thanks.

You should also share xrdp-sesman.log.

Here you go, only the last two lines correspond to the above xrdp log session I posted (based on the time stamp). Thanks for your help.

[20200408-19:32:42] [DEBUG] libscp initialized
[20200408-19:32:42] [DEBUG] Testing if xrdp-sesman can listen on <IP_ADDRESS> port 3350.
[20200408-19:32:42] [INFO ] starting xrdp-sesman with pid 7974
[20200408-19:32:42] [DEBUG] Closed socket 5 (AF_INET6 ::1 port 3350)
[20200408-19:32:42] [INFO ] listening to port 3350 on <IP_ADDRESS>
[20200408-19:33:14] [INFO ] shutting down sesman 1
[20200408-19:33:14] [DEBUG] Closed socket 7 (AF_INET6 ::1 port 3350)
[20200408-19:34:11] [DEBUG] libscp initialized
[20200408-19:34:11] [DEBUG] Testing if xrdp-sesman can listen on <IP_ADDRESS> port 3350.
[20200408-19:34:11] [INFO ] starting xrdp-sesman with pid 1191
[20200408-19:34:12] [INFO ] listening to port 3350 on <IP_ADDRESS>
[20200408-19:34:11] [DEBUG] Closed socket 5 (AF_INET6 ::1 port 3350)
[20200408-19:45:28] [INFO ] A connection received from ::1 port 47936
[20200408-19:45:30] [DEBUG] Closed socket 8 (AF_INET6 ::1 port 3350)
[20200408-19:46:56] [INFO ] A connection received from ::1 port 47938
[20200408-19:46:59] [DEBUG] Closed socket 8 (AF_INET6 ::1 port 3350)
[20200408-19:49:17] [INFO ] A connection received from ::1 port 47948
[20200408-19:49:19] [DEBUG] Closed socket 8 (AF_INET6 ::1 port 3350)
[20200408-19:51:19] [INFO ] A connection received from ::1 port 47950
[20200408-19:51:22] [DEBUG] Closed socket 8 (AF_INET6 ::1 port 3350)
[20200408-19:52:52] [INFO ] A connection received from ::1 port 47952
[20200408-19:52:54] [DEBUG] Closed socket 8 (AF_INET6 ::1 port 3350)
[20200408-19:53:11] [INFO ] A connection received from ::1 port 47954
[20200408-19:53:14] [DEBUG] Closed socket 8 (AF_INET6 ::1 port 3350)
[20200408-19:53:26] [INFO ] A connection received from ::1 port 47956
[20200408-19:53:29] [DEBUG] Closed socket 8 (AF_INET6 ::1 port 3350)
[20200408-20:08:23] [INFO ] A connection received from ::1 port 47964
[20200408-20:08:26] [DEBUG] Closed socket 8 (AF_INET6 ::1 port 3350)
[20200408-20:08:50] [INFO ] A connection received from ::1 port 47966
[20200408-20:08:51] [INFO ] ++ created session (access granted): username mea707, ip ::ffff:<IP_ADDRESS>:49861 - socket: 12
[20200408-20:08:51] [INFO ] starting Xorg session...
[20200408-20:08:51] [DEBUG] Closed socket 9 (AF_INET6 :: port 5910)
[20200408-20:08:51] [DEBUG] Closed socket 9 (AF_INET6 :: port 6010)
[20200408-20:08:51] [DEBUG] Closed socket 9 (AF_INET6 :: port 6210)
[20200408-20:08:51] [DEBUG] Closed socket 8 (AF_INET6 ::1 port 3350)
[20200408-20:08:51] [INFO ] calling auth_start_session from pid 6558
[20200408-20:08:51] [DEBUG] Closed socket 7 (AF_INET6 ::1 port 3350)
[20200408-20:08:51] [DEBUG] Closed socket 8 (AF_INET6 ::1 port 3350)
[20200408-20:08:51] [INFO ] /usr/lib/xorg/Xorg :10 -auth .Xauthority -config xrdp/xorg.conf -noreset -nolisten tcp -logfile .xorgxrdp.%s.log
[20200408-20:08:52] [CORE ] waiting for window manager (pid 6559) to exit
[20200408-20:08:54] [CORE ] window manager (pid 6559) did exit, cleaning up session
[20200408-20:08:54] [INFO ] calling auth_stop_session and auth_end from pid 6558
[20200408-20:08:54] [DEBUG] cleanup_sockets:
[20200408-20:08:55] [DEBUG] cleanup_sockets: deleting /var/run/xrdp/sockdir/xrdp_chansrv_audio_out_socket_10
[20200408-20:08:55] [DEBUG] cleanup_sockets: deleting /var/run/xrdp/sockdir/xrdp_chansrv_audio_in_socket_10
[20200408-20:08:55] [DEBUG] cleanup_sockets: deleting /var/run/xrdp/sockdir/xrdpapi_10
[20200408-20:08:55] [INFO ] ++ terminated session:  username mea707, display :10.0, session_pid 6558, ip ::ffff:<IP_ADDRESS>:49861 - socket: 12
[20200408-20:09:22] [INFO ] A connection received from ::1 port 47972
[20200408-20:09:25] [DEBUG] Closed socket 8 (AF_INET6 ::1 port 3350)
[20200408-20:09:54] [INFO ] A connection received from ::1 port 47974
[20200408-20:09:57] [DEBUG] Closed socket 8 (AF_INET6 ::1 port 3350)
[20200408-20:10:50] [INFO ] A connection received from ::1 port 47976
[20200408-20:10:52] [DEBUG] Closed socket 8 (AF_INET6 ::1 port 3350)
[20200408-20:11:19] [INFO ] A connection received from ::1 port 47978
[20200408-20:11:22] [DEBUG] Closed socket 8 (AF_INET6 ::1 port 3350)
[20200408-20:21:37] [INFO ] A connection received from ::1 port 48176
[20200408-20:21:41] [DEBUG] Closed socket 8 (AF_INET6 ::1 port 3350)
[20200408-20:22:01] [INFO ] A connection received from ::1 port 48178
[20200408-20:22:05] [DEBUG] Closed socket 8 (AF_INET6 ::1 port 3350)
[20200408-20:32:34] [INFO ] shutting down sesman 1
[20200408-20:32:34] [DEBUG] Closed socket 7 (AF_INET6 ::1 port 3350)
[20200408-20:32:43] [DEBUG] libscp initialized
[20200408-20:32:43] [DEBUG] Testing if xrdp-sesman can listen on <IP_ADDRESS> port 3350.
[20200408-20:32:43] [INFO ] starting xrdp-sesman with pid 8836
[20200408-20:32:43] [DEBUG] Closed socket 5 (AF_INET6 ::1 port 3350)
[20200408-20:32:43] [INFO ] listening to port 3350 on <IP_ADDRESS>
[20200408-20:34:32] [INFO ] A connection received from ::1 port 48464
[20200408-20:34:35] [DEBUG] Closed socket 8 (AF_INET6 ::1 port 3350)
[20200408-20:51:59] [INFO ] shutting down sesman 1
[20200408-20:52:00] [DEBUG] Closed socket 7 (AF_INET6 ::1 port 3350)
[20200408-20:53:00] [DEBUG] libscp initialized
[20200408-20:53:01] [DEBUG] Testing if xrdp-sesman can listen on <IP_ADDRESS> port 3350.
[20200408-20:53:01] [DEBUG] Closed socket 5 (AF_INET6 ::1 port 3350)
[20200408-20:53:01] [INFO ] starting xrdp-sesman with pid 1133
[20200408-20:53:02] [INFO ] listening to port 3350 on <IP_ADDRESS>
[20200408-21:27:55] [INFO ] A connection received from ::1 port 47664
[20200408-21:27:59] [DEBUG] Closed socket 8 (AF_INET6 ::1 port 3350)

Hi @MEA707 ,
The bit before the last two lines is interesting, as it shows a user session that authenticates, but terminates almost immediately. The user name in this case is mea707.
Your initial post shows the username MEA707 not authenticating.
Unlike Windows, Linux usernames are case-sensitive. I suspect the configured user on your system is mea707. Is this correct?
If so, please try logging in as mea707 rather than MEA707, and reporting back what happens.
In general on Linux it is a good idea to stick to lower-case usernames. Although it doesn't matter much on a single-user system, you will have interesting problems if you're using LDAP for authentication and other purposes.

Hi @matt335672,
You are correct that initially I did try to log in as uppercase MEA707 mistakenly. I then tried logging in as lowercase mea707 and still got the same error.
The lines I posted are from my attempt to login as lowercase mea707 which is what the username on the OS is configured as.
Thanks for your help!

Hi @MEA707,
I'm afraid I'm failing to get a clear picture of what is going on here. Knowing where your PPA has come from would also be useful.
Can you do the following:-

Stop the xrdp and xrdp-sesman services
Truncate /var/log/xrdp.log and /var/log/xrdp-sesman.log being careful not to disturb the permissions on them.
Restart the services

These commands should do that:-
sudo systemctl stop xrdp xrdp-sesman
sudo tee /var/log/xrdp.log /var/log/xrdp-sesman.log </dev/null
sudo systemctl start xrdp xrdp-sesman

Then try to log in to the system using the Xorg backend and mea707
Then:-
sudo systemctl stop xrdp xrdp-sesman

Finally, post the log files /var/log/xrdp.log and /var/log/xrdp-sesman.log, plus where you got the PPA from, and any other useful information.
Thanks.

Hi @matt335672,
I did not add a specific PPA to download XRDP. It installed from the base Ubuntu repository that comes with Linux Mint. This is the address:

http://archive.ubuntu.com/ubuntu bionic/universe amd64

I followed your exact instructions and here's the full log:
xrdp.log:

[20200411-10:26:03] [DEBUG] Testing if xrdp can listen on <IP_ADDRESS> port 3389.
[20200411-10:26:03] [DEBUG] Closed socket 7 (AF_INET6 :: port 3389)
[20200411-10:26:05] [INFO ] starting xrdp with pid 1670
[20200411-10:26:05] [INFO ] listening to port 3389 on <IP_ADDRESS>
[20200411-10:26:47] [INFO ] Socket 12: AF_INET6 connection received from ::ffff:<IP_ADDRESS> port 57303
[20200411-10:26:47] [DEBUG] Closed socket 12 (AF_INET6 ::ffff:<IP_ADDRESS> port 3389)
[20200411-10:26:47] [DEBUG] Closed socket 11 (AF_INET6 :: port 3389)
[20200411-10:26:47] [INFO ] Using default X.509 certificate: /etc/xrdp/cert.pem
[20200411-10:26:47] [INFO ] Using default X.509 key file: /etc/xrdp/key.pem
[20200411-10:26:47] [ERROR] Cannot read private key file /etc/xrdp/key.pem: Permission denied
[20200411-10:26:47] [DEBUG] TLSv1.2 enabled
[20200411-10:26:47] [DEBUG] TLSv1.1 enabled
[20200411-10:26:47] [DEBUG] TLSv1 enabled
[20200411-10:26:47] [DEBUG] Security layer: requested 11, selected 0
[20200411-10:26:47] [DEBUG] Closed socket 12 (AF_INET6 ::ffff:<IP_ADDRESS> port 3389)
[20200411-10:26:49] [INFO ] Socket 12: AF_INET6 connection received from ::ffff:<IP_ADDRESS> port 57304
[20200411-10:26:49] [DEBUG] Closed socket 12 (AF_INET6 ::ffff:<IP_ADDRESS> port 3389)
[20200411-10:26:49] [DEBUG] Closed socket 11 (AF_INET6 :: port 3389)
[20200411-10:26:49] [INFO ] Using default X.509 certificate: /etc/xrdp/cert.pem
[20200411-10:26:49] [INFO ] Using default X.509 key file: /etc/xrdp/key.pem
[20200411-10:26:49] [ERROR] Cannot read private key file /etc/xrdp/key.pem: Permission denied
[20200411-10:26:49] [DEBUG] TLSv1.2 enabled
[20200411-10:26:49] [DEBUG] TLSv1.1 enabled
[20200411-10:26:49] [DEBUG] TLSv1 enabled
[20200411-10:26:49] [DEBUG] Security layer: requested 0, selected 0
[20200411-10:26:49] [INFO ] connected client computer name: MEA707-THINKPAD
[20200411-10:26:49] [INFO ] Non-TLS connection established from ::ffff:<IP_ADDRESS> port 57304: encrypted with standard RDP security
[20200411-10:26:49] [DEBUG] xrdp_0000070a_wm_login_mode_event_00000001
[20200411-10:26:49] [INFO ] Loading keymap file /etc/xrdp/km-00000409.ini
[20200411-10:26:50] [WARN ] local keymap file for 0x00000409 found and doesn't match built in keymap, using local keymap file
[20200411-10:27:06] [DEBUG] xrdp_wm_log_msg: connecting to sesman ip <IP_ADDRESS> port 3350
[20200411-10:27:07] [INFO ] xrdp_wm_log_msg: sesman connect ok
[20200411-10:27:07] [DEBUG] xrdp_wm_log_msg: sending login info to session manager, please wait...
[20200411-10:27:07] [DEBUG] return value from xrdp_mm_connect 0
[20200411-10:27:09] [INFO ] xrdp_wm_log_msg: login failed for display 0
[20200411-10:27:09] [DEBUG] xrdp_mm_module_cleanup
[20200411-10:27:09] [DEBUG] Closed socket 16 (AF_INET6 ::1 port 49208)
[20200411-10:27:17] [DEBUG] Closed socket 12 (AF_INET6 ::ffff:<IP_ADDRESS> port 3389)
[20200411-10:27:17] [DEBUG] xrdp_mm_module_cleanup
[20200411-10:28:16] [DEBUG] Closed socket 11 (AF_INET6 :: port 3389)

xrdp-sesman.log:

[20200411-10:26:03] [DEBUG] libscp initialized
[20200411-10:26:03] [DEBUG] Testing if xrdp-sesman can listen on <IP_ADDRESS> port 3350.
[20200411-10:26:03] [INFO ] starting xrdp-sesman with pid 1660
[20200411-10:26:03] [INFO ] listening to port 3350 on <IP_ADDRESS>
[20200411-10:26:03] [DEBUG] Closed socket 5 (AF_INET6 ::1 port 3350)
[20200411-10:27:06] [INFO ] A connection received from ::1 port 49208
[20200411-10:27:09] [DEBUG] Closed socket 8 (AF_INET6 ::1 port 3350)
[20200411-10:28:16] [INFO ] shutting down sesman 1
[20200411-10:28:16] [DEBUG] Closed socket 7 (AF_INET6 ::1 port 3350)

This login was attempted while I was logged out of the Linux computer, I am not sure how remote logins work if the PC is already logged in, does it make a difference in Linux? For the record, in the past I tried both remoting in while the Linux PC was logged in already and logged out, and in both cases I got the same message in XRDP.
Looking in Synaptics Package Manager, I see there is another xorgxrdp I could install, do you know anything about it?

Thanks again.

Thanks for that.
Something odd seems to be happening in sesman, in that it is trying to log you in to display 0, rather than 10 or 11.
The file /etc/xrdp/sesman.ini should contain this setting in the '[Sessions]' section:-
;; X11DisplayOffset - x11 display number offset
; Type: integer
; Default: 10
X11DisplayOffset=10

Having this set to '0' could cause sesman to try to create a session on display 0. This won't work, as this will conflict with the local display.
If it's not that, you could also use the command journalctl -u xrdp-sesman to get some more debugging output from sesman. You would need to be careful with log times if you do this, as the generated output may go back for some time.
The XRDP session will be entirely separate from the console session. You should be able to use both independently.
A couple of other points:-

I don't know anything about xorgxrdp-hwe-18.04 I'm afraid. A quick search led me to this [askubuntu.com] but it only appears to apply to 18.04.3.
Your connection security is not all it could be, as the xrdp daemon is unable to read the TLS private key for your machine. Depending on the environment you're in, this may or may not be a concern. There's more information about this here [c-nergy.be] where it's explained by Griffon very well. The TLDR is that to use TLS for XRDP connection security you should enter the command sudo adduser xrdp ssl-cert and restart the XRDP service. This isn't however relevant to your existing issue, so I'd recommend leaving that for a bit.

@matt335672
I checked the Sessions under sesman.ini and it shows default as 10, exactly like what you showed.
Here is the debugging output for the past 2 days:

Apr 10 08:06:43 MEA707-ThinkPad-T61 xrdp-sesman[1133]: (1133)(140341273863488)[INFO ] A connection received from ::1 port 48376
Apr 10 08:06:44 MEA707-ThinkPad-T61 pam_fingerprint-gui[1133]: Got "debug" argument.
Apr 10 08:06:44 MEA707-ThinkPad-T61 pam_fingerprint-gui[1133]: Pam_sm_authenticate was called with flags 0x0 (UNKNOWN).
Apr 10 08:06:44 MEA707-ThinkPad-T61 pam_fingerprint-gui[1133]: Got no PAM_RHOST.
Apr 10 08:06:44 MEA707-ThinkPad-T61 pam_fingerprint-gui[1133]: Got no SSH_CONNECTION.
Apr 10 08:06:44 MEA707-ThinkPad-T61 pam_fingerprint-gui[1133]: Have no PAM_AUTHTOK.
Apr 10 08:06:44 MEA707-ThinkPad-T61 pam_fingerprint-gui[1133]: PAM_SERVICE: xrdp-sesman.
Apr 10 08:06:44 MEA707-ThinkPad-T61 pam_fingerprint-gui[1133]: Have PAM_TTY: xrdp-sesman.
Apr 10 08:06:44 MEA707-ThinkPad-T61 pam_fingerprint-gui[1133]: Have no DISPLAY from PAM_TTY.
Apr 10 08:06:44 MEA707-ThinkPad-T61 pam_fingerprint-gui[1133]: Have now XDisplay: "(null)" and XAuth: "(null)".
Apr 10 08:06:44 MEA707-ThinkPad-T61 pam_fingerprint-gui[1133]: Have no PAM username.
Apr 10 08:06:44 MEA707-ThinkPad-T61 pam_fingerprint-gui[1133]: Parent PID: 1133.
Apr 10 08:06:44 MEA707-ThinkPad-T61 pam_fingerprint-gui[1133]: Child (helper) PID: 20719.
Apr 10 08:06:44 MEA707-ThinkPad-T61 pam_fingerprint-gui[1133]: Wrote random string to fifo.
Apr 10 08:06:44 MEA707-ThinkPad-T61 pam_fingerprint-gui[1133]: Prompting username returned PAM_SUCCESS.
Apr 10 08:06:44 MEA707-ThinkPad-T61 pam_fingerprint-gui[1133]: Have username: mea707.
Apr 10 08:06:44 MEA707-ThinkPad-T61 pam_fingerprint-gui[1133]: running not OPENPAM.
Apr 10 08:06:44 MEA707-ThinkPad-T61 pam_fingerprint-gui[1133]: Prompting password returned PAM_SUCCESS.
Apr 10 08:06:44 MEA707-ThinkPad-T61 pam_fingerprint-gui[1133]: Prompting returned within less then 1 second. Waiting 1 sec for helper start.
Apr 10 08:06:44 MEA707-ThinkPad-T61 pam_fingerprint-gui[1133]: Got password from helper via pipe.
Apr 10 08:06:44 MEA707-ThinkPad-T61 pam_fingerprint-gui[1133]: Return 25 (PAM_IGNORE).
Apr 10 08:06:44 MEA707-ThinkPad-T61 xrdp-sesman[1133]: pam_unix(xrdp-sesman:auth): authentication failure; logname= uid=0 euid=0 tty=xrdp-sesman ruser= rhost=  user=mea707
Apr 10 08:06:46 MEA707-ThinkPad-T61 xrdp-sesman[1133]: (1133)(140341273863488)[DEBUG] Closed socket 8 (AF_INET6 ::1 port 3350)
Apr 10 08:07:38 MEA707-ThinkPad-T61 xrdp-sesman[1133]: (1133)(140341273863488)[INFO ] A connection received from ::1 port 48378
Apr 10 08:07:38 MEA707-ThinkPad-T61 pam_fingerprint-gui[1133]: Got "debug" argument.
Apr 10 08:07:38 MEA707-ThinkPad-T61 pam_fingerprint-gui[1133]: Pam_sm_authenticate was called with flags 0x0 (UNKNOWN).
Apr 10 08:07:38 MEA707-ThinkPad-T61 pam_fingerprint-gui[1133]: Got no PAM_RHOST.
Apr 10 08:07:38 MEA707-ThinkPad-T61 pam_fingerprint-gui[1133]: Got no SSH_CONNECTION.
Apr 10 08:07:38 MEA707-ThinkPad-T61 pam_fingerprint-gui[1133]: Have no PAM_AUTHTOK.
Apr 10 08:07:38 MEA707-ThinkPad-T61 pam_fingerprint-gui[1133]: PAM_SERVICE: xrdp-sesman.
Apr 10 08:07:38 MEA707-ThinkPad-T61 pam_fingerprint-gui[1133]: Have PAM_TTY: xrdp-sesman.
Apr 10 08:07:38 MEA707-ThinkPad-T61 pam_fingerprint-gui[1133]: Have no DISPLAY from PAM_TTY.
Apr 10 08:07:38 MEA707-ThinkPad-T61 pam_fingerprint-gui[1133]: Have now XDisplay: "(null)" and XAuth: "(null)".
Apr 10 08:07:38 MEA707-ThinkPad-T61 pam_fingerprint-gui[1133]: Have no PAM username.
Apr 10 08:07:38 MEA707-ThinkPad-T61 pam_fingerprint-gui[1133]: Parent PID: 1133.
Apr 10 08:07:38 MEA707-ThinkPad-T61 pam_fingerprint-gui[1133]: Child (helper) PID: 20759.
Apr 10 08:07:38 MEA707-ThinkPad-T61 pam_fingerprint-gui[1133]: Wrote random string to fifo.
Apr 10 08:07:38 MEA707-ThinkPad-T61 pam_fingerprint-gui[1133]: Prompting username returned PAM_SUCCESS.
Apr 10 08:07:38 MEA707-ThinkPad-T61 pam_fingerprint-gui[1133]: Have username: mea707.
Apr 10 08:07:38 MEA707-ThinkPad-T61 pam_fingerprint-gui[1133]: running not OPENPAM.
Apr 10 08:07:38 MEA707-ThinkPad-T61 pam_fingerprint-gui[1133]: Prompting password returned PAM_SUCCESS.
Apr 10 08:07:38 MEA707-ThinkPad-T61 pam_fingerprint-gui[1133]: Prompting returned within less then 1 second. Waiting 1 sec for helper start.
Apr 10 08:07:38 MEA707-ThinkPad-T61 pam_fingerprint-gui[1133]: Got password from helper via pipe.
Apr 10 08:07:38 MEA707-ThinkPad-T61 pam_fingerprint-gui[1133]: Return 25 (PAM_IGNORE).
Apr 10 08:07:38 MEA707-ThinkPad-T61 xrdp-sesman[1133]: pam_unix(xrdp-sesman:auth): authentication failure; logname= uid=0 euid=0 tty=xrdp-sesman ruser= rhost=  user=mea707
Apr 10 08:07:41 MEA707-ThinkPad-T61 xrdp-sesman[1133]: (1133)(140341273863488)[DEBUG] Closed socket 8 (AF_INET6 ::1 port 3350)
Apr 10 08:16:36 MEA707-ThinkPad-T61 systemd[1]: Stopping xrdp session manager...
Apr 10 08:16:36 MEA707-ThinkPad-T61 systemd[1]: xrdp-sesman.service: Control process exited, code=exited status=1
Apr 10 08:16:36 MEA707-ThinkPad-T61 xrdp-sesman[1133]: (1133)(140341273863488)[INFO ] shutting down sesman 1
Apr 10 08:16:36 MEA707-ThinkPad-T61 xrdp-sesman[1133]: (1133)(140341273863488)[DEBUG] Closed socket 7 (AF_INET6 ::1 port 3350)
Apr 10 08:16:36 MEA707-ThinkPad-T61 systemd[1]: xrdp-sesman.service: Failed with result 'exit-code'.
Apr 10 08:16:36 MEA707-ThinkPad-T61 systemd[1]: Stopped xrdp session manager.
Apr 11 09:57:09 MEA707-ThinkPad-T61 systemd[1]: Starting xrdp session manager...
Apr 11 09:57:09 MEA707-ThinkPad-T61 xrdp-sesman[28178]: (28178)(140472035480896)[DEBUG] libscp initialized
Apr 11 09:57:09 MEA707-ThinkPad-T61 xrdp-sesman[28178]: (28178)(140472035480896)[DEBUG] Testing if xrdp-sesman can listen on <IP_ADDRESS> port 3350.
Apr 11 09:57:09 MEA707-ThinkPad-T61 xrdp-sesman[28179]: (28179)(140472035480896)[INFO ] starting xrdp-sesman with pid 28179
Apr 11 09:57:09 MEA707-ThinkPad-T61 xrdp-sesman[28178]: (28178)(140472035480896)[DEBUG] Closed socket 5 (AF_INET6 ::1 port 3350)
Apr 11 09:57:09 MEA707-ThinkPad-T61 xrdp-sesman[28179]: (28179)(140472035480896)[INFO ] listening to port 3350 on <IP_ADDRESS>
Apr 11 09:57:09 MEA707-ThinkPad-T61 systemd[1]: Started xrdp session manager.
Apr 11 10:06:09 MEA707-ThinkPad-T61 xrdp-sesman[28179]: (28179)(140472035480896)[INFO ] A connection received from ::1 port 48846
Apr 11 10:06:10 MEA707-ThinkPad-T61 pam_fingerprint-gui[28179]: Got "debug" argument.
Apr 11 10:06:10 MEA707-ThinkPad-T61 pam_fingerprint-gui[28179]: Pam_sm_authenticate was called with flags 0x0 (UNKNOWN).
Apr 11 10:06:10 MEA707-ThinkPad-T61 pam_fingerprint-gui[28179]: Got no PAM_RHOST.
Apr 11 10:06:10 MEA707-ThinkPad-T61 pam_fingerprint-gui[28179]: Got no SSH_CONNECTION.
Apr 11 10:06:10 MEA707-ThinkPad-T61 pam_fingerprint-gui[28179]: Have no PAM_AUTHTOK.
Apr 11 10:06:10 MEA707-ThinkPad-T61 pam_fingerprint-gui[28179]: PAM_SERVICE: xrdp-sesman.
Apr 11 10:06:10 MEA707-ThinkPad-T61 pam_fingerprint-gui[28179]: Have PAM_TTY: xrdp-sesman.
Apr 11 10:06:10 MEA707-ThinkPad-T61 pam_fingerprint-gui[28179]: Have no DISPLAY from PAM_TTY.
Apr 11 10:06:10 MEA707-ThinkPad-T61 pam_fingerprint-gui[28179]: Have now XDisplay: "(null)" and XAuth: "(null)".
Apr 11 10:06:10 MEA707-ThinkPad-T61 pam_fingerprint-gui[28179]: Have no PAM username.
Apr 11 10:06:10 MEA707-ThinkPad-T61 pam_fingerprint-gui[28179]: Parent PID: 28179.
Apr 11 10:06:10 MEA707-ThinkPad-T61 pam_fingerprint-gui[28179]: Child (helper) PID: 29788.
Apr 11 10:06:10 MEA707-ThinkPad-T61 pam_fingerprint-gui[28179]: Wrote random string to fifo.
Apr 11 10:06:10 MEA707-ThinkPad-T61 pam_fingerprint-gui[28179]: Prompting username returned PAM_SUCCESS.
Apr 11 10:06:10 MEA707-ThinkPad-T61 pam_fingerprint-gui[28179]: Have username: mea707.
Apr 11 10:06:10 MEA707-ThinkPad-T61 pam_fingerprint-gui[28179]: running not OPENPAM.
Apr 11 10:06:10 MEA707-ThinkPad-T61 pam_fingerprint-gui[28179]: Prompting password returned PAM_SUCCESS.
Apr 11 10:06:10 MEA707-ThinkPad-T61 pam_fingerprint-gui[28179]: Prompting returned within less then 1 second. Waiting 1 sec for helper start.
Apr 11 10:06:10 MEA707-ThinkPad-T61 pam_fingerprint-gui[28179]: Got password from helper via pipe.
Apr 11 10:06:10 MEA707-ThinkPad-T61 pam_fingerprint-gui[28179]: Return 25 (PAM_IGNORE).
Apr 11 10:06:10 MEA707-ThinkPad-T61 xrdp-sesman[28179]: pam_unix(xrdp-sesman:auth): authentication failure; logname= uid=0 euid=0 tty=xrdp-sesman ruser= rhost=  user=mea707
Apr 11 10:06:12 MEA707-ThinkPad-T61 xrdp-sesman[28179]: (28179)(140472035480896)[DEBUG] Closed socket 8 (AF_INET6 ::1 port 3350)
Apr 11 10:09:34 MEA707-ThinkPad-T61 systemd[1]: Stopping xrdp session manager...
Apr 11 10:09:35 MEA707-ThinkPad-T61 xrdp-sesman[28179]: (28179)(140472035480896)[INFO ] shutting down sesman 1
Apr 11 10:09:35 MEA707-ThinkPad-T61 systemd[1]: xrdp-sesman.service: Control process exited, code=exited status=1
Apr 11 10:09:35 MEA707-ThinkPad-T61 xrdp-sesman[28179]: (28179)(140472035480896)[DEBUG] Closed socket 7 (AF_INET6 ::1 port 3350)
Apr 11 10:09:35 MEA707-ThinkPad-T61 systemd[1]: xrdp-sesman.service: Failed with result 'exit-code'.
Apr 11 10:09:35 MEA707-ThinkPad-T61 systemd[1]: Stopped xrdp session manager.
Apr 11 10:10:29 MEA707-ThinkPad-T61 systemd[1]: Starting xrdp session manager...
Apr 11 10:10:29 MEA707-ThinkPad-T61 xrdp-sesman[31031]: (31031)(140628815394112)[DEBUG] libscp initialized
Apr 11 10:10:30 MEA707-ThinkPad-T61 xrdp-sesman[31031]: (31031)(140628815394112)[DEBUG] Testing if xrdp-sesman can listen on <IP_ADDRESS> port 3350.
Apr 11 10:10:30 MEA707-ThinkPad-T61 xrdp-sesman[31032]: (31032)(140628815394112)[INFO ] starting xrdp-sesman with pid 31032
Apr 11 10:10:30 MEA707-ThinkPad-T61 xrdp-sesman[31031]: (31031)(140628815394112)[DEBUG] Closed socket 5 (AF_INET6 ::1 port 3350)
Apr 11 10:10:30 MEA707-ThinkPad-T61 xrdp-sesman[31032]: (31032)(140628815394112)[INFO ] listening to port 3350 on <IP_ADDRESS>
Apr 11 10:10:30 MEA707-ThinkPad-T61 systemd[1]: Started xrdp session manager.
-- Reboot --
Apr 11 13:58:18 MEA707-ThinkPad-T61 systemd[1]: Starting xrdp session manager...
Apr 11 13:58:19 MEA707-ThinkPad-T61 xrdp-sesman[1103]: (1103)(139776034805056)[DEBUG] libscp initialized
Apr 11 13:58:20 MEA707-ThinkPad-T61 xrdp-sesman[1103]: (1103)(139776034805056)[DEBUG] Testing if xrdp-sesman can listen on <IP_ADDRESS> port 3350.
Apr 11 13:58:20 MEA707-ThinkPad-T61 xrdp-sesman[1116]: (1116)(139776034805056)[INFO ] starting xrdp-sesman with pid 1116
Apr 11 13:58:20 MEA707-ThinkPad-T61 xrdp-sesman[1103]: (1103)(139776034805056)[DEBUG] Closed socket 5 (AF_INET6 ::1 port 3350)
Apr 11 13:58:20 MEA707-ThinkPad-T61 xrdp-sesman[1116]: (1116)(139776034805056)[INFO ] listening to port 3350 on <IP_ADDRESS>
Apr 11 13:58:21 MEA707-ThinkPad-T61 systemd[1]: Started xrdp session manager.
Apr 11 14:10:13 MEA707-ThinkPad-T61 systemd[1]: Stopping xrdp session manager...
Apr 11 14:10:13 MEA707-ThinkPad-T61 systemd[1]: xrdp-sesman.service: Control process exited, code=exited status=1
Apr 11 14:10:13 MEA707-ThinkPad-T61 xrdp-sesman[1116]: (1116)(139776034805056)[INFO ] shutting down sesman 1
Apr 11 14:10:13 MEA707-ThinkPad-T61 xrdp-sesman[1116]: (1116)(139776034805056)[DEBUG] Closed socket 7 (AF_INET6 ::1 port 3350)
Apr 11 14:10:13 MEA707-ThinkPad-T61 systemd[1]: xrdp-sesman.service: Failed with result 'exit-code'.
Apr 11 14:10:13 MEA707-ThinkPad-T61 systemd[1]: Stopped xrdp session manager.
Apr 12 11:13:28 MEA707-ThinkPad-T61 systemd[1]: Starting xrdp session manager...
Apr 12 11:13:28 MEA707-ThinkPad-T61 xrdp-sesman[9914]: (9914)(140181926028608)[DEBUG] libscp initialized
Apr 12 11:13:28 MEA707-ThinkPad-T61 xrdp-sesman[9914]: (9914)(140181926028608)[DEBUG] Testing if xrdp-sesman can listen on <IP_ADDRESS> port 3350.
Apr 12 11:13:28 MEA707-ThinkPad-T61 xrdp-sesman[9915]: (9915)(140181926028608)[INFO ] starting xrdp-sesman with pid 9915
Apr 12 11:13:28 MEA707-ThinkPad-T61 xrdp-sesman[9914]: (9914)(140181926028608)[DEBUG] Closed socket 5 (AF_INET6 ::1 port 3350)
Apr 12 11:13:28 MEA707-ThinkPad-T61 xrdp-sesman[9915]: (9915)(140181926028608)[INFO ] listening to port 3350 on <IP_ADDRESS>
Apr 12 11:13:28 MEA707-ThinkPad-T61 systemd[1]: Started xrdp session manager.
Apr 12 11:17:02 MEA707-ThinkPad-T61 xrdp-sesman[9915]: (9915)(140181926028608)[INFO ] A connection received from ::1 port 51866
Apr 12 11:17:02 MEA707-ThinkPad-T61 pam_fingerprint-gui[9915]: Got "debug" argument.
Apr 12 11:17:02 MEA707-ThinkPad-T61 pam_fingerprint-gui[9915]: Pam_sm_authenticate was called with flags 0x0 (UNKNOWN).
Apr 12 11:17:02 MEA707-ThinkPad-T61 pam_fingerprint-gui[9915]: Got no PAM_RHOST.
Apr 12 11:17:02 MEA707-ThinkPad-T61 pam_fingerprint-gui[9915]: Got no SSH_CONNECTION.
Apr 12 11:17:02 MEA707-ThinkPad-T61 pam_fingerprint-gui[9915]: Have no PAM_AUTHTOK.
Apr 12 11:17:02 MEA707-ThinkPad-T61 pam_fingerprint-gui[9915]: PAM_SERVICE: xrdp-sesman.
Apr 12 11:17:02 MEA707-ThinkPad-T61 pam_fingerprint-gui[9915]: Have PAM_TTY: xrdp-sesman.
Apr 12 11:17:02 MEA707-ThinkPad-T61 pam_fingerprint-gui[9915]: Have no DISPLAY from PAM_TTY.
Apr 12 11:17:02 MEA707-ThinkPad-T61 pam_fingerprint-gui[9915]: Have now XDisplay: "(null)" and XAuth: "(null)".
Apr 12 11:17:02 MEA707-ThinkPad-T61 pam_fingerprint-gui[9915]: Have no PAM username.
Apr 12 11:17:02 MEA707-ThinkPad-T61 pam_fingerprint-gui[9915]: Parent PID: 9915.
Apr 12 11:17:02 MEA707-ThinkPad-T61 pam_fingerprint-gui[9915]: Child (helper) PID: 11072.
Apr 12 11:17:02 MEA707-ThinkPad-T61 pam_fingerprint-gui[9915]: Wrote random string to fifo.
Apr 12 11:17:02 MEA707-ThinkPad-T61 pam_fingerprint-gui[9915]: Prompting username returned PAM_SUCCESS.
Apr 12 11:17:02 MEA707-ThinkPad-T61 pam_fingerprint-gui[9915]: Have username: mea707.
Apr 12 11:17:02 MEA707-ThinkPad-T61 pam_fingerprint-gui[9915]: running not OPENPAM.
Apr 12 11:17:02 MEA707-ThinkPad-T61 pam_fingerprint-gui[9915]: Prompting password returned PAM_SUCCESS.
Apr 12 11:17:02 MEA707-ThinkPad-T61 pam_fingerprint-gui[9915]: Prompting returned within less then 1 second. Waiting 1 sec for helper start.
Apr 12 11:17:02 MEA707-ThinkPad-T61 pam_fingerprint-gui[9915]: Got password from helper via pipe.
Apr 12 11:17:02 MEA707-ThinkPad-T61 pam_fingerprint-gui[9915]: Return 25 (PAM_IGNORE).
Apr 12 11:17:02 MEA707-ThinkPad-T61 xrdp-sesman[9915]: pam_unix(xrdp-sesman:auth): authentication failure; logname= uid=0 euid=0 tty=xrdp-sesman ruser= rhost=  user=mea707
Apr 12 11:17:04 MEA707-ThinkPad-T61 xrdp-sesman[9915]: (9915)(140181926028608)[DEBUG] Closed socket 8 (AF_INET6 ::1 port 3350)

I'm not familiar with pam_fingerprint, but from the looks of the trace above, it looks like you're trying to use this with sesman to authenticate. I don't think this will work.
By default on Ubuntu, sesman will use the authentication process used by other login methods but this can be configured by modifying /etc/pam.d/xrdp-sesman.
What does the file /etc/pam.d/common-auth` look like on your system? It would be good to know I'm not running off in the wrong direction again!

I installed Fingerprint GUI to make the fingerprint reader functional. XRDP definitely shouldn't be trying to use the fingerprint authentication to remote in, so that's a good catch.
Here is what /etc/pam.d/xrdp-sesman looks like:
#%PAM-1.0
@include common-auth
@include common-account
@include common-session
@include common-password

And here is what /etc/pam.d/common-auth looks like:
#
# /etc/pam.d/common-auth - authentication settings common to all services
#
# This file is included from other service-specific PAM config files,
# and should contain a list of the authentication modules that define
# the central authentication scheme for use on the system
# (e.g., /etc/shadow, LDAP, Kerberos, etc.).  The default is to use the
# traditional Unix authentication mechanisms.
#
# As of pam 1.0.1-6, this file is managed by pam-auth-update by default.
# To take advantage of this, it is recommended that you configure any
# local modules either before or after the default block, and use
# pam-auth-update to manage selection of other modules.  See
# pam-auth-update(8) for details.

# here are the per-package modules (the "Primary" block)
auth	[success=2 default=ignore]	pam_fingerprint-gui.so try_first_identified debug
auth	[success=1 default=ignore]	pam_unix.so nullok_secure try_first_pass
# here's the fallback if no module succeeds
auth	requisite			pam_deny.so
# prime the stack with a positive return value if there isn't one already;
# this avoids us returning an error just because nothing sets a success code
# since the modules above will each just jump around
auth	required			pam_permit.so
# and here are more per-package modules (the "Additional" block)
auth	optional	pam_ecryptfs.so unwrap
auth	optional			pam_cap.so
# end of pam-auth-update config

UPDATE:
I disabled fingerprint authentication in PAM and I was able to finally remote in.
As a workaround to be able to keep using the fingerprint reader while having XRDP ignore it, I created a copy of common-auth and named it common-auth-nofingerprint and referenced that in /etc/pam.d/xrdp-sesman.
While that allows me to remote in while maintaining fingerprint functionality on the PC, there are 2 problems now that I am trying to resolve.

After booting the Linux PC, whether I login or not, the first time I try to remote in to it using the Remote Desktop client in Windows 10, it will stay at a blank screen for a few seconds and then immediately close. I remote in again, and it remotes in successfully no problem. I don't have anymore issues remoting in until I restart the PC. Minor issue, but can't seem to resolve it and there's no errors in the xrdp or xrdp-sesman logs that I can see.

XRDP seems to be breaking launching a Terminal window from the PC itself. I can open a Terminal window while remoted in no problem, but if I logout and then disconnect the remote session and walk over to the Linux computer, if I try to launch a Terminal window, the cursor keeps spinning and never launches it. The only solution I found is to restarting the computer. So something about the XRDP remote session seems to be breaking the Terminal launch command.

The workaround is a good pragmatic solution IMO. It might be possible to get a combined PAM configuration working, but given it's a common file you could end up breaking other stuff. You could pour a lot of time down that particular hole.
With regards to your other problems, here are a couple of things to think about:-

Your description above is very clear, but it's not obvious whether the log-in attempt is causing a session to start or not. It might be that a disconnect is occurring but a session is actually starting, and then you're simply connecting to the started session. After the disconnect, you could see whether Xorg running on display :10 is visible in the output of ps -ef | grep Xorg
With regards to the same problem, immediately after the disconnect use the following commands to look at the debugging outputs of xrdp and xrdp-sesman. The -S -5m arguments restrict the output to the last 5 minutes::-

sudo journalctl -u xrdp -S -5m
sudo journalctl -u xrdp-sesman -S -5m

With regards to the other problem, you say you're using Cinnamon. I think this uses gnome-terminal but I'm not certain, so please check. The gnome-terminal uses a client-server architecture. The sole purpose of the gnome-terminal command is to contact the gnome-terminal-server program which is responsible for managing all the terminals in a session. gnome-terminal-server is started on first contact if it isn't already running. One of the big downsides of this architecture is that if it goes wrong, you can't easily get a terminal up to debug it! One way to do so is to install the xterm package so if you can at least start a basic terminal to look at things. Once you've got an xterm up, you can run gnome-terminal on the command line and see if you get any useful output.

Here is the output of xrdp and xrdp-sesman immediately following disconnect using the commands you listed:
Apr 14 09:24:31 MEA707-ThinkPad-T61 xrdp[3357]: (3357)(140137406555968)[INFO ] Socket 12: AF_INET6 connection received from ::ffff:<IP_ADDRESS> port 62688
Apr 14 09:24:31 MEA707-ThinkPad-T61 xrdp[3357]: (3357)(140137406555968)[DEBUG] Closed socket 12 (AF_INET6 ::ffff:<IP_ADDRESS> port 3389)
Apr 14 09:24:31 MEA707-ThinkPad-T61 xrdp[4563]: (4563)(140137406555968)[DEBUG] Closed socket 11 (AF_INET6 :: port 3389)
Apr 14 09:24:31 MEA707-ThinkPad-T61 xrdp[4563]: (4563)(140137406555968)[INFO ] Using default X.509 certificate: /etc/xrdp/cert.pem
Apr 14 09:24:31 MEA707-ThinkPad-T61 xrdp[4563]: (4563)(140137406555968)[INFO ] Using default X.509 key file: /etc/xrdp/key.pem
Apr 14 09:24:31 MEA707-ThinkPad-T61 xrdp[4563]: (4563)(140137406555968)[DEBUG] TLSv1.2 enabled
Apr 14 09:24:31 MEA707-ThinkPad-T61 xrdp[4563]: (4563)(140137406555968)[DEBUG] TLSv1.1 enabled
Apr 14 09:24:31 MEA707-ThinkPad-T61 xrdp[4563]: (4563)(140137406555968)[DEBUG] TLSv1 enabled
Apr 14 09:24:31 MEA707-ThinkPad-T61 xrdp[4563]: (4563)(140137406555968)[DEBUG] Security layer: requested 11, selected 1
Apr 14 09:24:31 MEA707-ThinkPad-T61 xrdp[4563]: (4563)(140137406555968)[DEBUG] Closed socket 12 (AF_INET6 ::ffff:<IP_ADDRESS> port 3389)
Apr 14 09:24:31 MEA707-ThinkPad-T61 xrdp[3357]: (3357)(140137406555968)[INFO ] Socket 12: AF_INET6 connection received from ::ffff:<IP_ADDRESS> port 62689
Apr 14 09:24:32 MEA707-ThinkPad-T61 xrdp[3357]: (3357)(140137406555968)[DEBUG] Closed socket 12 (AF_INET6 ::ffff:<IP_ADDRESS> port 3389)
Apr 14 09:24:32 MEA707-ThinkPad-T61 xrdp[4564]: (4564)(140137406555968)[DEBUG] Closed socket 11 (AF_INET6 :: port 3389)
Apr 14 09:24:32 MEA707-ThinkPad-T61 xrdp[4564]: (4564)(140137406555968)[INFO ] Using default X.509 certificate: /etc/xrdp/cert.pem
Apr 14 09:24:32 MEA707-ThinkPad-T61 xrdp[4564]: (4564)(140137406555968)[INFO ] Using default X.509 key file: /etc/xrdp/key.pem
Apr 14 09:24:32 MEA707-ThinkPad-T61 xrdp[4564]: (4564)(140137406555968)[DEBUG] TLSv1.2 enabled
Apr 14 09:24:32 MEA707-ThinkPad-T61 xrdp[4564]: (4564)(140137406555968)[DEBUG] TLSv1.1 enabled
Apr 14 09:24:32 MEA707-ThinkPad-T61 xrdp[4564]: (4564)(140137406555968)[DEBUG] TLSv1 enabled
Apr 14 09:24:32 MEA707-ThinkPad-T61 xrdp[4564]: (4564)(140137406555968)[DEBUG] Security layer: requested 11, selected 1
Apr 14 09:24:32 MEA707-ThinkPad-T61 xrdp[4564]: (4564)(140137406555968)[INFO ] connected client computer name: MEA707-ThinkPad
Apr 14 09:24:32 MEA707-ThinkPad-T61 xrdp[4564]: (4564)(140137406555968)[INFO ] TLS connection established from ::ffff:<IP_ADDRESS> port 62689: TLSv1.2 with cipher BLANKED OUT
Apr 14 09:24:32 MEA707-ThinkPad-T61 xrdp[4564]: (4564)(140137406555968)[DEBUG] xrdp_000011d4_wm_login_mode_event_00000001
Apr 14 09:24:32 MEA707-ThinkPad-T61 xrdp[4564]: (4564)(140137406555968)[INFO ] Loading keymap file /etc/xrdp/km-00000409.ini
Apr 14 09:24:32 MEA707-ThinkPad-T61 xrdp[4564]: (4564)(140137406555968)[WARN ] local keymap file for 0x00000409 found and doesn't match built in keymap, using local keymap file
Apr 14 09:24:32 MEA707-ThinkPad-T61 xrdp[4564]: (4564)(140137406555968)[DEBUG] xrdp_wm_log_msg: connecting to sesman ip <IP_ADDRESS> port 3350
Apr 14 09:24:33 MEA707-ThinkPad-T61 xrdp[4564]: (4564)(140137406555968)[INFO ] xrdp_wm_log_msg: sesman connect ok
Apr 14 09:24:33 MEA707-ThinkPad-T61 xrdp[4564]: (4564)(140137406555968)[DEBUG] xrdp_wm_log_msg: sending login info to session manager, please wait...
Apr 14 09:24:33 MEA707-ThinkPad-T61 xrdp[4564]: (4564)(140137406555968)[DEBUG] return value from xrdp_mm_connect 0
Apr 14 09:24:33 MEA707-ThinkPad-T61 xrdp[4564]: (4564)(140137406555968)[INFO ] xrdp_wm_log_msg: login successful for display 10
Apr 14 09:24:33 MEA707-ThinkPad-T61 xrdp[4564]: (4564)(140137406555968)[DEBUG] xrdp_wm_log_msg: started connecting
Apr 14 09:24:34 MEA707-ThinkPad-T61 xrdp[4564]: (4564)(140137406555968)[INFO ] lib_mod_log_peer: xrdp_pid=4564 connected to X11rdp_pid=4567 X11rdp_uid=1000 X11rdp_gid=1000 client
Apr 14 09:24:34 MEA707-ThinkPad-T61 xrdp[4564]: (4564)(140137406555968)[DEBUG] xrdp_wm_log_msg: connected ok
Apr 14 09:24:35 MEA707-ThinkPad-T61 xrdp[4564]: (4564)(140137406555968)[DEBUG] xrdp_mm_connect_chansrv: chansrv connect successful
Apr 14 09:24:35 MEA707-ThinkPad-T61 xrdp[4564]: (4564)(140137406555968)[DEBUG] Closed socket 20 (AF_INET6 ::1 port 45050)
Apr 14 09:24:36 MEA707-ThinkPad-T61 xrdp[4564]: (4564)(140137406555968)[INFO ] The following channel is allowed: rdpdr (0)
Apr 14 09:24:36 MEA707-ThinkPad-T61 xrdp[4564]: (4564)(140137406555968)[INFO ] The following channel is allowed: rdpsnd (1)
Apr 14 09:24:36 MEA707-ThinkPad-T61 xrdp[4564]: (4564)(140137406555968)[INFO ] The following channel is allowed: cliprdr (2)
Apr 14 09:24:36 MEA707-ThinkPad-T61 xrdp[4564]: (4564)(140137406555968)[INFO ] The following channel is allowed: drdynvc (3)
Apr 14 09:24:36 MEA707-ThinkPad-T61 xrdp[4564]: (4564)(140137406555968)[DEBUG] The allow channel list now initialized for this session
Apr 14 09:24:37 MEA707-ThinkPad-T61 xrdp[4564]: (4564)(140137406555968)[DEBUG] Closed socket 12 (AF_INET6 ::ffff:<IP_ADDRESS> port 3389)
Apr 14 09:24:37 MEA707-ThinkPad-T61 xrdp[4564]: (4564)(140137406555968)[DEBUG] xrdp_mm_module_cleanup
Apr 14 09:24:37 MEA707-ThinkPad-T61 xrdp[4564]: (4564)(140137406555968)[DEBUG] Closed socket 21 (AF_UNIX)
Apr 14 09:24:37 MEA707-ThinkPad-T61 xrdp[4564]: (4564)(140137406555968)[DEBUG] Closed socket 22 (AF_UNIX)

Apr 14 09:24:32 MEA707-ThinkPad-T61 xrdp-sesman[3347]: (3347)(140366554920256)[INFO ] A connection received from ::1 port 45050
Apr 14 09:24:33 MEA707-ThinkPad-T61 xrdp-sesman[3347]: (3347)(140366554920256)[INFO ] ++ created session (access granted): username mea707, ip ::ffff:<IP_ADDRESS>:62689 - socket:
Apr 14 09:24:33 MEA707-ThinkPad-T61 xrdp-sesman[3347]: (3347)(140366554920256)[INFO ] starting Xorg session...
Apr 14 09:24:33 MEA707-ThinkPad-T61 xrdp-sesman[3347]: (3347)(140366554920256)[DEBUG] Closed socket 9 (AF_INET6 :: port 5910)
Apr 14 09:24:33 MEA707-ThinkPad-T61 xrdp-sesman[3347]: (3347)(140366554920256)[DEBUG] Closed socket 9 (AF_INET6 :: port 6010)
Apr 14 09:24:33 MEA707-ThinkPad-T61 xrdp-sesman[3347]: (3347)(140366554920256)[DEBUG] Closed socket 9 (AF_INET6 :: port 6210)
Apr 14 09:24:33 MEA707-ThinkPad-T61 xrdp-sesman[4565]: (4565)(140366554920256)[INFO ] calling auth_start_session from pid 4565
Apr 14 09:24:33 MEA707-ThinkPad-T61 xrdp-sesman[3347]: (3347)(140366554920256)[DEBUG] Closed socket 8 (AF_INET6 ::1 port 3350)
Apr 14 09:24:33 MEA707-ThinkPad-T61 xrdp-sesman[4565]: pam_unix(xrdp-sesman:session): session opened for user mea707 by (uid=0)
Apr 14 09:24:33 MEA707-ThinkPad-T61 xrdp-sesman[4565]: (4565)(140366554920256)[DEBUG] Closed socket 7 (AF_INET6 ::1 port 3350)
Apr 14 09:24:34 MEA707-ThinkPad-T61 xrdp-sesman[4565]: (4565)(140366554920256)[DEBUG] Closed socket 8 (AF_INET6 ::1 port 3350)
Apr 14 09:24:34 MEA707-ThinkPad-T61 xrdp-sesman[4565]: (4565)(140366554920256)[CORE ] waiting for window manager (pid 4566) to exit
Apr 14 09:24:37 MEA707-ThinkPad-T61 xrdp-sesman[3347]: (3347)(140366554920256)[INFO ] ++ terminated session:  username mea707, display :10.0, session_pid 4565, ip ::ffff:192.168.

And here is the output from ps -ef | grep Xorg
root      1195  1175  4 09:13 tty7     00:00:32 /usr/lib/xorg/Xorg -core :0 -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch
root      5949  5916  0 09:26 pts/0    00:00:00 grep --color=auto Xorg

You're correct that Cinnamon uses gnome-terminal. One way I found out of launching the terminal after a remote session disconnects or I end it, is if I right click on the desktop or any folder and choose "Open as Root" put in my credentials and right click anywhere and choose "Open in Terminal" it launches fine, but in root mode of course. Only way I have found to open the terminal without root after a remote session is to restart the PC, quite annoying.
One  of the things that seems to have some impact is my .xsession file in the home folder. It is set as env -u SESSION_MANAGER -u DBUS_SESSION_BUS_ADDRESS cinnamon-session per these directions:
https://forums.linuxmint.com/viewtopic.php?t=272329
If I remove everything but cinnamon-session, I no longer have the disconnect on first login attempt and no longer have issues with it breaking the terminal after ending a session. The drawback however is I can only remote in while logged out.
Appreciate your help and patience in trying to resolve this!

Couple observations:
I have found that I am able to avoid having to restart the Linux PC if I ensure that I log off or "shut down" in the remoted desktop from the Windows PC and also log off and re-log in on the Linux PC.
If I simply exit/close the remote desktop client in Windows, then logging off/on the Linux PC does not fix the Terminal, only restarting it does. However, if I inadvertently exit/close the remote desktop client in Windows, I can remote back in and then properly log off and then go back to the Linux PC and logging off/on fixes the Terminal.
I also noticed that when I do this proper log off on both PCs, if I try remoting in at that point, it does disconnect at the first attempt.
So there seems to be some correlation of some sort between the disconnect on first remote attempt and the Terminal breaking issue.

UPDATE 2:
I found out there's actually several applications that are being broken besides gnome-terminal.
I tried launching Celluloid and it exhibited the same behavior as gnome-terminal with the spinning cursor and never launching.
I tried to see what else is also breaking and came up with the following:
Calendar
GNOME Maps
GNOME Weather
Disks Utility
The common denominator is they're all GNOME apps, not sure if that is coincidence or not. GNOME Online Accounts however was not affected.
There may be others, but this is what I tested. Plenty of other applications such as VLC Media Player, LibreOffice, Firefox, Chromium, etc. are unaffected and launch just fine after an xRDP session.

Thanks for that.
I'll set up a Mint VM and try to reproduce the issues you're having. It might take me a little while to do that, and I may have some questions as I go along.

@matt335672 No problem, I appreciate the help!
One thing that isn't working while remoted in is right clicking on the desktop or any folder and clicking "Open as Root." The option to click it is there, but it does nothing.
On a separate note, I've been trying to get VNC to work over xRDP, I've tried x11vnc to remote to the local desktop and it works fine, with all functions and it's not breaking any applications like the Xorg connection is.
What is not working in VNC is if I use the Xvnc connection type. This is how it's displayed in my xrdp.ini file:
[Xvnc]
name=Xvnc
lib=libvnc.so
username=ask
password=ask
ip=<IP_ADDRESS>
port=-1
#xserverbpp=24
#delay_ms=2000

With both x11vnc and tightvnc, it ties to connect to port 5910 and fails. I know nothing is open in port as the x11vnc vnc session is on 5900 and the tightvnc session is on 5901. As this is beyond my realm of expertise, is xRDP supposed to open another port, such as 5910 if it's not currently open?
Here are my logs from the failed 5910 vnc session:
[20200415-19:06:45] [INFO ] Socket 12: AF_INET6 connection received from ::ffff:<IP_ADDRESS> port 65145
[20200415-19:06:45] [DEBUG] Closed socket 12 (AF_INET6 ::ffff:<IP_ADDRESS> port 3389)
[20200415-19:06:45] [DEBUG] Closed socket 11 (AF_INET6 :: port 3389)
[20200415-19:06:45] [INFO ] Using default X.509 certificate: /etc/xrdp/cert.pem
[20200415-19:06:45] [INFO ] Using default X.509 key file: /etc/xrdp/key.pem
[20200415-19:06:45] [DEBUG] TLSv1.2 enabled
[20200415-19:06:45] [DEBUG] TLSv1.1 enabled
[20200415-19:06:45] [DEBUG] TLSv1 enabled
[20200415-19:06:45] [DEBUG] Security layer: requested 11, selected 1
[20200415-19:06:45] [DEBUG] Closed socket 12 (AF_INET6 ::ffff:<IP_ADDRESS> port 3389)
[20200415-19:06:45] [INFO ] Socket 12: AF_INET6 connection received from ::ffff:<IP_ADDRESS> port 65149
[20200415-19:06:45] [DEBUG] Closed socket 12 (AF_INET6 ::ffff:<IP_ADDRESS> port 3389)
[20200415-19:06:45] [DEBUG] Closed socket 11 (AF_INET6 :: port 3389)
[20200415-19:06:46] [INFO ] Using default X.509 certificate: /etc/xrdp/cert.pem
[20200415-19:06:46] [INFO ] Using default X.509 key file: /etc/xrdp/key.pem
[20200415-19:06:46] [DEBUG] TLSv1.2 enabled
[20200415-19:06:46] [DEBUG] TLSv1.1 enabled
[20200415-19:06:46] [DEBUG] TLSv1 enabled
[20200415-19:06:46] [DEBUG] Security layer: requested 11, selected 1
[20200415-19:06:46] [INFO ] connected client computer name: MEA707-THINKPAD
[20200415-19:06:46] [INFO ] TLS connection established from ::ffff:<IP_ADDRESS> port 65149: TLSv1.2 with cipher BLANKED OUT
[20200415-19:06:46] [DEBUG] xrdp_0000139c_wm_login_mode_event_00000001
[20200415-19:06:46] [INFO ] Loading keymap file /etc/xrdp/km-00000409.ini
[20200415-19:06:46] [WARN ] local keymap file for 0x00000409 found and doesn't match built in keymap, using local keymap file
[20200415-19:06:53] [DEBUG] xrdp_wm_log_msg: connecting to sesman ip <IP_ADDRESS> port 3350
[20200415-19:06:54] [INFO ] xrdp_wm_log_msg: sesman connect ok
[20200415-19:06:54] [DEBUG] xrdp_wm_log_msg: sending login info to session manager, please wait...
[20200415-19:06:54] [DEBUG] return value from xrdp_mm_connect 0
[20200415-19:06:54] [INFO ] xrdp_wm_log_msg: login successful for display 10
[20200415-19:06:54] [DEBUG] xrdp_wm_log_msg: VNC started connecting
[20200415-19:06:54] [DEBUG] xrdp_wm_log_msg: VNC connecting to <IP_ADDRESS> 5910
[20200415-19:06:57] [DEBUG] VNC error 1 after security negotiation
[20200415-19:06:58] [DEBUG] VNC error before sending share flag
[20200415-19:06:58] [DEBUG] VNC error before receiving server init
[20200415-19:06:58] [DEBUG] VNC error before receiving pixel format
[20200415-19:06:58] [DEBUG] VNC error before receiving name length
[20200415-19:06:58] [DEBUG] VNC error before receiving name
[20200415-19:06:58] [DEBUG] xrdp_wm_log_msg: VNC error - problem connecting
[20200415-19:06:58] [DEBUG] Closed socket 21 (AF_INET6 ::ffff:<IP_ADDRESS> port 45324)
[20200415-19:06:58] [DEBUG] xrdp_wm_log_msg: some problem
[20200415-19:06:58] [DEBUG] xrdp_mm_module_cleanup
[20200415-19:06:58] [DEBUG] VNC mod_exit
[20200415-19:06:58] [DEBUG] Closed socket 20 (AF_INET6 ::1 port 42124)

[20200415-18:53:43] [INFO ] A connection received from ::1 port 41698
[20200415-18:53:43] [INFO ] ++ created session (access granted): username mea707, ip ::ffff:<IP_ADDRESS>:64984 - socket: 12
[20200415-18:53:43] [INFO ] starting Xvnc session...
[20200415-18:53:44] [DEBUG] Closed socket 9 (AF_INET6 :: port 5910)
[20200415-18:53:44] [DEBUG] Closed socket 9 (AF_INET6 :: port 6010)
[20200415-18:53:44] [DEBUG] Closed socket 9 (AF_INET6 :: port 6210)
[20200415-18:53:44] [DEBUG] Closed socket 8 (AF_INET6 ::1 port 3350)
[20200415-18:53:44] [INFO ] calling auth_start_session from pid 2730
[20200415-18:53:44] [DEBUG] Closed socket 7 (AF_INET6 ::1 port 3350)
[20200415-18:53:44] [DEBUG] Closed socket 8 (AF_INET6 ::1 port 3350)
[20200415-18:53:44] [INFO ] Xvnc :10 -auth .Xauthority -geometry 1920x1080 -depth 32 -rfbauth /home/mea707/.vnc/sesman_mea707_passwd:10 -bs -nolisten tcp -localhost -dpi 96
[20200415-18:53:54] [ERROR] X server for display 10 startup timeout
[20200415-18:53:54] [CORE ] waiting for window manager (pid 2731) to exit
[20200415-18:53:54] [ERROR] X server for display 10 startup timeout
[20200415-18:53:54] [ERROR] another Xserver might already be active on display 10 - see log
[20200415-18:53:54] [DEBUG] aborting connection...
[20200415-18:53:54] [CORE ] window manager (pid 2731) did exit, cleaning up session
[20200415-18:53:54] [INFO ] calling auth_stop_session and auth_end from pid 2730
[20200415-18:53:54] [DEBUG] cleanup_sockets:
[20200415-18:53:54] [DEBUG] cleanup_sockets: deleting /var/run/xrdp/sockdir/xrdp_chansrv_socket_10
[20200415-18:53:54] [DEBUG] cleanup_sockets: deleting /var/run/xrdp/sockdir/xrdpapi_10
[20200415-18:53:54] [DEBUG] cleanup_sockets: failed to delete /var/run/xrdp/sockdir/xrdpapi_10
[20200415-18:53:55] [INFO ] ++ terminated session:  username mea707, display :10.0, session_pid 2730, ip ::ffff:<IP_ADDRESS>:64984 - socket: 12

I'll take your 'separate note' above as that's an easy one.
The Xvnc connection type is similar to Xorg, in that the session manager starts an X server and then runs a session on it. The X server in this case however is Xvnc and not Xorg with a module. XRDP converts between the simple RFB protocol used by Xvnc and the RDP protocol on the fly.
Xvnc is the original session type. It's been largely superseded by Xorg, but there are a couple of situations where it works better.
If you want to try it, you'll need to install an Xvnc server. You could try tigervnc-standalone-server, but there are other options which might be worth exploring.

Hi @MEA707
I'm cautiously optimistic I may have gotten somewhere with this.
After playing with my vanilla Cinnamon VM, I think you could be encountering up to two problems:-

The xorgxrdp package won't work on the latest Mint update - you do need xorgxrdp-hwe-18.04 installed instead. The clue for this for me was the file ~/.xorgxrdp.10.log contains parse_vt_settings: Cannot open /dev/tty0 (Permission denied) - see #1159. Given you've been getting something working anyway, I think you may already have this installed.
Rather significantly, the dbus-user-session package, installed by default does not support multiple graphical sessions started by the same user. You can read the description of the Debian package here. The Mint package is a different version, but the description is the same.

I'm not entirely aware of the implications of starting a session in the way mentioned in your Mint forum posting. Given that this is trying to fight what dbus-user-session is trying to achieve, I can see it could maybe work, and then get broken by an update. Also, since the package description for dbus-user-session tells us what to do, I think that's the way to go.
Can you do the following logged in on the console? Regardless of your current config this should install the packages you need and remove the ones you don't.
rm -f ~/.xsession
sudo apt install -y xorgxrdp-hwe-18.04
sudo apt remove -y dbus-user-session
sudo apt install -y dbus-x11
sudo reboot

After I do this, I can use either the Xorg or Xvnc backend together with the console. Importantly, the following command gives a different output in each session:-
env | grep DBUS

Please let us know how you get on with this. I suspect this problem may be affecting quite a few people.

So, I've been watching this thread for some time trying to decide if this applied to me. I think now, after you last post, it does.
I had XRDP working with Ubuntu 18.04 on Gnome 3.32 (Yes, I recognize Gnome 3.32 doesn't come standard with Ubuntu 18.04, but I wanted fractional scaling!), but then made the following changes:

Installed Chrome Remote Desktop (CRD) around the time the coronavirus crisis hit (I liked that CRD supported dynamic xrandr resolution by changing the window size, which XRDP currently doesn't)
Installed the latest version of VirtualGL and then ran: vglserver_config (I also liked that CRD worked with VirtualGL, and I'm not sure XRDP does).
Updated my Nvidia binary drivers to the latest version. Nvidia-smi wasn't working and I wanted to get stats on my VirtualGL GPU usage.
...
Enjoyed CRD until my company blocked it due to some sort of nebulous security justification.

Now, I tried to go back to XRDP but I can't, because of the Cannot open /dev/tty0 (Permission denied) error. If memory serves, it was something vglserver_config did that broke it, but running the "uninstall" command on it doesn't fix things, so that might not be it.
I have tried all sorts of variants of xserver-xorg-legacy. I tried uninstalling dbus-user-session and installing dbus-x11 (for a while, both were installed SxS). I've tried the chmod 0660 trick on dev/tty* but that only moves the error down the pipe so that it can't access psaux for the mouse.
Still nothing. I'd love to help test patches or debug in any way I can. I would love to have XRDP back, because otherwise I have to suffer with NoMachine (my company's supported solution barf)
XVNC works (it's glacially slow), but xorgxrdp doesn't. I have both xrdp and xorgxrdp building from source at the head of their respective github repos.

Hi @Nexarian
Could I trouble you to open a new issue on this? I'm hoping we're getting near a resolution on the original issue, and yours sounds like it's related but not the same. It sounds to me like the xorgxrdp module isn't loading for some reason, and we can hopefully debug that using some other techniques,
If it's in another thread, it may be easier for others to follow.
Thanks and speak soon.

Yes, absolutely! https://github.com/neutrinolabs/xrdp/issues/1550

Hi @matt335672,
You are correct, I already have xorgxrdp-hwe-18.04 due to the dependency issues of xorgxrdp which prevents its installation.
I took a look and turns out Mint 19.3 comes with both dbus-user-session and dbus-x11 installed. I ran your command line prompts and therefore removed dbus-user-session and now I am able to launch a terminal window following an xRDP session no problem.
The "Open as Root" though still does not work, I guess this is a separate issue.
Since Mint comes with both dbus-user-session and dbus-x11 installed, will there be any loss of functionality by removing  dbus-user-session? So far I cannot tell.
Thanks again for all your help!

I've had a look into your "Open as Root" issue, and it's all to do with polkit.
Polkit is using an action called org.nemo.root to authorize nemo (the file manager) to run as root
The action file /usr/share/polkit-1/actions/org.nemo.root.policy contains these lines:-
   <defaults>
     <allow_any>no</allow_any>
     <allow_inactive>no</allow_inactive>
     <allow_active>auth_admin_keep</allow_active>
   </defaults>

The allow_any default will correspond to your XRDP session as this isn't a local session. The allow_active will apply to your console session as it is a local active session. Presumably local sessions are considered to be more secure.
You can override this by creating the file /etc/polkit-1/localauthority/50-local.d/xrdp-nemo.pkla with the following contents:-
[Authorize nemo for remote sessions]
Identity=unix-user:*
Action=org.nemo.root
ResultAny=auth_admin_keep

Note that this version of polkit is quite old, and you can't use a rules file to do this. You may find Mint 20 will be different as it will be based on Ubuntu 20.04 LTS.
There may well be other things that would need authorizing in this way, but I hope that gives you an idea. You'll have to make up your own mind regarding the security or otherwise of this approach, depending on your own environment.
I can't see there would be any loss of functionality in using a session DBUS in this way. The separate desktops demand it, and it's been a normal way of working for some years, pre-systemd.
The above description is a bit brief as I've got limited time today, but I hope it's useful. Let me know if you've got any other questions.

Thank you, this polkit override worked well!
This isn't probably specifically an issue with xRDP, but I have found that with the fingerprint reader enabled, I cannot sudo in terminal during a remote session via xRDP. Before I have a chance to enter the password, it errors out as shown here:

If I disable fingerprint authorization in PAM, I no longer have issues doing sudo while remotely connected through xRDP.
I may just disable fingerprint authorization for sudo altogether though, which would solve this issue.

I suspect this is more an issue with the PAM stack not coping with the lack of a fingerprint GUI, but it would take a bit of debugging to find out.
Thanks for your feedback on the dbus-user-session change. I suspect this should be shared with a wider audience, so I'm going to look back over some of the other threads in this forum and see if any can benefit from being pointed towards this one.

Glad to help @matt335672. Sorry for the late response, got busy. Thanks for your patience in going through this with me. I am not new to computers, but I am new to Linux.
I did discover an issue with xRDP as it relates to audio, but I will open another thread for that as it's different from this issue.


drivers: regulator: Update Kconfig

Utilize DT_HAS__ENABLED for devicetree based drivers

Signed-off-by: Kumar Gala<EMAIL_ADDRESS>

@danieldegrasse ping


RFC: Sealed table subtyping

Rendered link.

Alternative syntax for tables open for extension: ... postfix inside the table (similarly to runtime syntax for varargs).

What do we infer as the type of
function foo(t)
return t.field
end

right now?

We don't have surface syntax for generic tables, but if we did, it would be something like
foo : <T>{field: T, ...} -> T

Aha - generic tables is what I was looking for. After this change, would sealed and generic tables be different?

@zeux

Aha - generic tables is what I was looking for. After this change, would sealed and generic tables be different?

Generic tables will stick around for a bit longer. Constrained generics will probably replace the generic table state entirely, but for right now they have some subtle behavioral differences that we want to keep around.
@tiffany352

Does going with unsealed as the default for table types imply we'll need to add a syntax for sealed tables later? Sort of like the inverse of the interface {} alternative.
It seems like this proposal will make it impossible to declare sealed tables except via typeof.

This proposal doesn't change the semantics of sealed tables; they will still occur in the same places. Unsealed tables are sealed when they leave the scope they were created in, so e.g. this function returns a sealed table, not an unsealed one:
local function x()
    return {
        a = 1,
    }
end

This subtyping mechanic is actually unsound for unsealed tables without flow analysis:
local x = {
    a = 1,
}

local y = {
    a = 1,
    b = 2,
}

-- both x and y are unsealed in this scope

local z: typeof(x) = y -- y is said to be a subtype of x for this to work
x.c = 3 -- now x has a "c" property, which y does not. accessing z.c is nil.

This introduces some somewhat awkward semantics for cases where type annotations aren't involved, unfortunately. Using type annotations can force a table to be sealed; for example, in this code:
type Foo = {
    a: number,
}

local x: Foo = {
    a = 123,
}

x is a sealed table, not an unsealed one.

At some point we'd want to replace generic tables b bounds on type parameters, e.g.
function foo(x)
  x.p = 5
  return x
end

would get inferred as having type
foo : <t : {p : number}>(t) -> t

I feel like long term this can make the type system easier to understand if we stop using the words "sealed table"; instead this purely becomes a table, generic tables go away in lieu of generic constraints, and unsealed tables are just a transient state that happens during type checking. Short term we should consider rewording the manual (and error messages if we have any) to refer to sealed tables as tables while keeping the other types...

One thought I had was that we could just convert sealed tables in function arguments to generic tables during quantification.  I think this would mostly get us what we want with minimal changes.
It seems to be very rare that anyone ever actually wants a sealed table as an argument.
If we ever actually do run into that use case, we could do what Flow does and offer explicit syntax for a sealed table type.